GitSubmitEditorWidget *GitSubmitEditor::submitEditorWidget() { return static_cast<GitSubmitEditorWidget *>(widget()); }
QAbstractButton *ButtonTaskMenu::button() const { return qobject_cast<QAbstractButton *>(widget()); }
/** Returns corresponding Tools-view. */ UIToolsView *view() const { return qobject_cast<UIToolsView*>(widget()); }
void ImageBrowserScrollArea::resizeEvent(QResizeEvent *event) { QWidget *child = widget(); if (child != 0) { ((ImageBrowserView*) child)->resizeUpdate(); } }
bool QWidgetWindow::event(QEvent *event) { if (m_widget->testAttribute(Qt::WA_DontShowOnScreen)) { // \a event is uninteresting for QWidgetWindow, the event was probably // generated before WA_DontShowOnScreen was set return m_widget->event(event); } switch (event->type()) { case QEvent::Close: handleCloseEvent(static_cast<QCloseEvent *>(event)); return true; case QEvent::Enter: case QEvent::Leave: handleEnterLeaveEvent(event); return true; // these should not be sent to QWidget, the corresponding events // are sent by QApplicationPrivate::notifyActiveWindowChange() case QEvent::FocusIn: handleFocusInEvent(static_cast<QFocusEvent *>(event)); // Fallthrough case QEvent::FocusOut: { #ifndef QT_NO_ACCESSIBILITY QAccessible::State state; state.active = true; QAccessibleStateChangeEvent ev(widget(), state); QAccessible::updateAccessibility(&ev); #endif return false; } case QEvent::FocusAboutToChange: if (QApplicationPrivate::focus_widget) { if (QApplicationPrivate::focus_widget->testAttribute(Qt::WA_InputMethodEnabled)) QGuiApplication::inputMethod()->commit(); QGuiApplication::sendSpontaneousEvent(QApplicationPrivate::focus_widget, event); } return true; case QEvent::KeyPress: case QEvent::KeyRelease: case QEvent::ShortcutOverride: handleKeyEvent(static_cast<QKeyEvent *>(event)); return true; case QEvent::MouseMove: case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseButtonDblClick: handleMouseEvent(static_cast<QMouseEvent *>(event)); return true; case QEvent::NonClientAreaMouseMove: case QEvent::NonClientAreaMouseButtonPress: case QEvent::NonClientAreaMouseButtonRelease: case QEvent::NonClientAreaMouseButtonDblClick: handleNonClientAreaMouseEvent(static_cast<QMouseEvent *>(event)); return true; case QEvent::TouchBegin: case QEvent::TouchUpdate: case QEvent::TouchEnd: case QEvent::TouchCancel: handleTouchEvent(static_cast<QTouchEvent *>(event)); return true; case QEvent::Move: handleMoveEvent(static_cast<QMoveEvent *>(event)); return true; case QEvent::Resize: handleResizeEvent(static_cast<QResizeEvent *>(event)); return true; #ifndef QT_NO_WHEELEVENT case QEvent::Wheel: handleWheelEvent(static_cast<QWheelEvent *>(event)); return true; #endif #ifndef QT_NO_DRAGANDDROP case QEvent::DragEnter: case QEvent::DragMove: handleDragEnterMoveEvent(static_cast<QDragMoveEvent *>(event)); return true; case QEvent::DragLeave: handleDragLeaveEvent(static_cast<QDragLeaveEvent *>(event)); return true; case QEvent::Drop: handleDropEvent(static_cast<QDropEvent *>(event)); return true; #endif case QEvent::Expose: handleExposeEvent(static_cast<QExposeEvent *>(event)); return true; case QEvent::WindowStateChange: handleWindowStateChangedEvent(static_cast<QWindowStateChangeEvent *>(event)); return true; case QEvent::ThemeChange: { QEvent widgetEvent(QEvent::ThemeChange); QGuiApplication::sendSpontaneousEvent(m_widget, &widgetEvent); } return true; #ifndef QT_NO_TABLETEVENT case QEvent::TabletPress: case QEvent::TabletMove: case QEvent::TabletRelease: handleTabletEvent(static_cast<QTabletEvent *>(event)); return true; #endif #ifndef QT_NO_GESTURES case QEvent::NativeGesture: handleGestureEvent(static_cast<QNativeGestureEvent *>(event)); return true; #endif #ifndef QT_NO_CONTEXTMENU case QEvent::ContextMenu: handleContextMenuEvent(static_cast<QContextMenuEvent *>(event)); return true; #endif // Handing show events to widgets (see below) here would cause them to be triggered twice case QEvent::Show: case QEvent::Hide: return QWindow::event(event); case QEvent::WindowBlocked: qt_button_down = 0; break; case QEvent::UpdateRequest: // This is not the same as an UpdateRequest for a QWidget. That just // syncs the backing store while here we also must mark as dirty. m_widget->repaint(); return true; default: break; } if (m_widget->event(event) && event->type() != QEvent::Timer) return true; return QWindow::event(event); }
QueryWidget *WorkAreaTabWidget::queryWidget(int index) { return qobject_cast<QueryWidget *>(widget(index)); }
QDeclarativeView* QDeclarativeViewNodeInstance::view() const { QDeclarativeView* view = qobject_cast<QDeclarativeView*>(widget()); Q_ASSERT(view); return view; }
return true; } KVSO_CLASS_FUNCTION(groupBox,title) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((KviTalGroupBox *)widget())->title()); return true; } KVSO_CLASS_FUNCTION(groupBox,setFlat) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bFlag",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setFlat(bEnabled); return true; } KVSO_CLASS_FUNCTION(groupBox,isFlat) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((KviTalGroupBox *)widget())->isFlat()); return true; } KVSO_CLASS_FUNCTION(groupBox,setCheckable) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bFlag",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c)
KVSO_CLASS_FUNCTION(groupBox,title) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((KviTalGroupBox *)widget())->title()); return true; }
/*! \fn QAccessibleTextEdit::QAccessibleTextEdit(QWidget *widget) Constructs a QAccessibleTextEdit object for a \a widget. */ QAccessibleTextEdit::QAccessibleTextEdit(QWidget *o) : QAccessibleTextWidget(o, QAccessible::EditableText) { Q_ASSERT(widget()->inherits("QTextEdit")); }
/*! Returns the text edit. */ QTextEdit *QAccessibleTextEdit::textEdit() const { return static_cast<QTextEdit *>(widget()); }
QPlainTextEdit* QAccessiblePlainTextEdit::plainTextEdit() const { return static_cast<QPlainTextEdit *>(widget()); }
QAccessiblePlainTextEdit::QAccessiblePlainTextEdit(QWidget* o) :QAccessibleTextWidget(o) { Q_ASSERT(widget()->inherits("QPlainTextEdit")); }
// Swap two tab indices void MHTabWidget::MoveTab(int fromIndex, int toIndex) { removeTab(fromIndex); insertTab(toIndex, widget(fromIndex), tabIcon(fromIndex), tabText(fromIndex)); setCurrentIndex(toIndex); }
Qt::WindowFlags QXlibWindow::setWindowFlags(Qt::WindowFlags flags) { // Q_ASSERT(flags & Qt::Window); mWindowFlags = flags; #ifdef MYX11_DEBUG qDebug() << "QTestLiteWindow::setWindowFlags" << hex << x_window << "flags" << flags; #endif Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask)); if (type == Qt::ToolTip) flags |= Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint; if (type == Qt::Popup) flags |= Qt::X11BypassWindowManagerHint; bool topLevel = (flags & Qt::Window); bool popup = (type == Qt::Popup); bool dialog = (type == Qt::Dialog || type == Qt::Sheet); bool desktop = (type == Qt::Desktop); bool tool = (type == Qt::Tool || type == Qt::SplashScreen || type == Qt::ToolTip || type == Qt::Drawer); Q_UNUSED(topLevel); Q_UNUSED(dialog); Q_UNUSED(desktop); bool tooltip = (type == Qt::ToolTip); XSetWindowAttributes wsa; QXlibMWMHints mwmhints; mwmhints.flags = 0L; mwmhints.functions = 0L; mwmhints.decorations = 0; mwmhints.input_mode = 0L; mwmhints.status = 0L; ulong wsa_mask = 0; if (type != Qt::SplashScreen) { // && customize) { mwmhints.flags |= MWM_HINTS_DECORATIONS; bool customize = flags & Qt::CustomizeWindowHint; if (!(flags & Qt::FramelessWindowHint) && !(customize && !(flags & Qt::WindowTitleHint))) { mwmhints.decorations |= MWM_DECOR_BORDER; mwmhints.decorations |= MWM_DECOR_RESIZEH; if (flags & Qt::WindowTitleHint) mwmhints.decorations |= MWM_DECOR_TITLE; if (flags & Qt::WindowSystemMenuHint) mwmhints.decorations |= MWM_DECOR_MENU; if (flags & Qt::WindowMinimizeButtonHint) { mwmhints.decorations |= MWM_DECOR_MINIMIZE; mwmhints.functions |= MWM_FUNC_MINIMIZE; } if (flags & Qt::WindowMaximizeButtonHint) { mwmhints.decorations |= MWM_DECOR_MAXIMIZE; mwmhints.functions |= MWM_FUNC_MAXIMIZE; } if (flags & Qt::WindowCloseButtonHint) mwmhints.functions |= MWM_FUNC_CLOSE; } } else { // if type == Qt::SplashScreen mwmhints.decorations = MWM_DECOR_ALL; } if (tool) { wsa.save_under = True; wsa_mask |= CWSaveUnder; } if (flags & Qt::X11BypassWindowManagerHint) { wsa.override_redirect = True; wsa_mask |= CWOverrideRedirect; } #if 0 if (wsa_mask && initializeWindow) { Q_ASSERT(id); XChangeWindowAttributes(dpy, id, wsa_mask, &wsa); } #endif if (mwmhints.functions != 0) { mwmhints.flags |= MWM_HINTS_FUNCTIONS; mwmhints.functions |= MWM_FUNC_MOVE | MWM_FUNC_RESIZE; } else { mwmhints.functions = MWM_FUNC_ALL; } if (!(flags & Qt::FramelessWindowHint) && flags & Qt::CustomizeWindowHint && flags & Qt::WindowTitleHint && !(flags & (Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint))) { // a special case - only the titlebar without any button mwmhints.flags = MWM_HINTS_FUNCTIONS; mwmhints.functions = MWM_FUNC_MOVE | MWM_FUNC_RESIZE; mwmhints.decorations = 0; } if (widget()->windowModality() == Qt::WindowModal) { mwmhints.input_mode = MWM_INPUT_PRIMARY_APPLICATION_MODAL; } else if (widget()->windowModality() == Qt::ApplicationModal) { mwmhints.input_mode = MWM_INPUT_FULL_APPLICATION_MODAL; } setMWMHints(mwmhints); QVector<Atom> netWmState = getNetWmState(); if (flags & Qt::WindowStaysOnTopHint) { if (flags & Qt::WindowStaysOnBottomHint) qWarning() << "QWidget: Incompatible window flags: the window can't be on top and on bottom at the same time"; if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_ABOVE))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_ABOVE)); if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_STAYS_ON_TOP))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_STAYS_ON_TOP)); } else if (flags & Qt::WindowStaysOnBottomHint) { if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_BELOW))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_BELOW)); } if (widget()->isFullScreen()) { if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_FULLSCREEN))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_FULLSCREEN)); } if (widget()->isMaximized()) { if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MAXIMIZED_HORZ))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MAXIMIZED_HORZ)); if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MAXIMIZED_VERT))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MAXIMIZED_VERT)); } if (widget()->windowModality() != Qt::NonModal) { if (!netWmState.contains(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MODAL))) netWmState.append(QXlibStatic::atom(QXlibStatic::_NET_WM_STATE_MODAL)); } if (!netWmState.isEmpty()) { XChangeProperty(mScreen->display()->nativeDisplay(), x_window, QXlibStatic::atom(QXlibStatic::_NET_WM_STATE), XA_ATOM, 32, PropModeReplace, (unsigned char *) netWmState.data(), netWmState.size()); } else { XDeleteProperty(mScreen->display()->nativeDisplay(), x_window, QXlibStatic::atom(QXlibStatic::_NET_WM_STATE)); } //##### only if initializeWindow??? if (popup || tooltip) { // popup widget #ifdef MYX11_DEBUG qDebug() << "Doing XChangeWindowAttributes for popup" << wsa.override_redirect; #endif // set EWMH window types // setNetWmWindowTypes(); wsa.override_redirect = True; wsa.save_under = True; XChangeWindowAttributes(mScreen->display()->nativeDisplay(), x_window, CWOverrideRedirect | CWSaveUnder, &wsa); } else { #ifdef MYX11_DEBUG qDebug() << "Doing XChangeWindowAttributes for non-popup"; #endif } return flags; }
int ScrollArea::scrollWidth() const { QWidget *w(widget()); return w ? qMax(w->width(), width()) : width(); }
void DatabaseTabWidget::lockDatabases() { for (int i = 0; i < count(); i++) { DatabaseWidget* dbWidget = static_cast<DatabaseWidget*>(widget(i)); Database* db = databaseFromDatabaseWidget(dbWidget); DatabaseWidget::Mode mode = dbWidget->currentMode(); if ((mode != DatabaseWidget::ViewMode && mode != DatabaseWidget::EditMode) || !dbWidget->dbHasKey()) { continue; } // show the correct tab widget before we are asking questions about it setCurrentWidget(dbWidget); if (mode == DatabaseWidget::EditMode) { QMessageBox::StandardButton result = MessageBox::question( this, tr("Lock database"), tr("Can't lock the database as you are currently editing it.\nPlease press cancel to finish your changes or discard them."), QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Cancel); if (result == QMessageBox::Cancel) { continue; } } if (m_dbList[db].modified && !m_dbList[db].saveToFilename) { QMessageBox::StandardButton result = MessageBox::question( this, tr("Lock database"), tr("This database has never been saved.\nYou can save the dabatase or stop locking it."), QMessageBox::Save | QMessageBox::Cancel, QMessageBox::Cancel); if (result == QMessageBox::Save) { if (!saveDatabase(db)) { continue; } } else if (result == QMessageBox::Cancel) { continue; } } else if (m_dbList[db].modified) { QMessageBox::StandardButton result = MessageBox::question( this, tr("Lock database"), tr("This database has been modified.\nDo you want to save the database before locking it?\nOtherwise your changes are lost."), QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Cancel); if (result == QMessageBox::Save) { if (!saveDatabase(db)) { continue; } } else if (result == QMessageBox::Discard) { m_dbList[db].modified = false; } else if (result == QMessageBox::Cancel) { continue; } } dbWidget->lock(); // database has changed so we can't use the db variable anymore updateTabName(dbWidget->database()); } }
int ScrollArea::scrollHeight() const { QWidget *w(widget()); return w ? qMax(w->height(), height()) : height(); }
void ScrollArea::touchEvent(QTouchEvent *e) { if (!e->touchPoints().isEmpty()) { _touchPrevPos = _touchPos; _touchPos = e->touchPoints().cbegin()->screenPos().toPoint(); } switch (e->type()) { case QEvent::TouchBegin: if (_touchPress || e->touchPoints().isEmpty()) return; _touchPress = true; if (_touchScrollState == TouchScrollAuto) { _touchScrollState = TouchScrollAcceleration; _touchWaitingAcceleration = true; _touchAccelerationTime = getms(); touchUpdateSpeed(); _touchStart = _touchPos; } else { _touchScroll = false; _touchTimer.start(QApplication::startDragTime()); } _touchStart = _touchPrevPos = _touchPos; _touchRightButton = false; break; case QEvent::TouchUpdate: if (!_touchPress) return; if (!_touchScroll && (_touchPos - _touchStart).manhattanLength() >= QApplication::startDragDistance()) { _touchTimer.stop(); _touchScroll = true; touchUpdateSpeed(); } if (_touchScroll) { if (_touchScrollState == TouchScrollManual) { touchScrollUpdated(_touchPos); } else if (_touchScrollState == TouchScrollAcceleration) { touchUpdateSpeed(); _touchAccelerationTime = getms(); if (_touchSpeed.isNull()) { _touchScrollState = TouchScrollManual; } } } break; case QEvent::TouchEnd: if (!_touchPress) return; _touchPress = false; if (_touchScroll) { if (_touchScrollState == TouchScrollManual) { _touchScrollState = TouchScrollAuto; _touchPrevPosValid = false; _touchScrollTimer.start(15); _touchTime = getms(); } else if (_touchScrollState == TouchScrollAuto) { _touchScrollState = TouchScrollManual; _touchScroll = false; touchResetSpeed(); } else if (_touchScrollState == TouchScrollAcceleration) { _touchScrollState = TouchScrollAuto; _touchWaitingAcceleration = false; _touchPrevPosValid = false; } } else if (window() && widget()) { // one short tap -- like left mouse click, one long tap -- like right mouse click #ifdef Q_OS_WIN Qt::MouseButton btn(_touchRightButton ? Qt::RightButton : Qt::LeftButton); QPoint mapped(widget()->mapFromGlobal(_touchStart)), winMapped(window()->mapFromGlobal(_touchStart)); QMouseEvent pressEvent(QEvent::MouseButtonPress, mapped, winMapped, _touchStart, btn, Qt::MouseButtons(btn), Qt::KeyboardModifiers()); pressEvent.accept(); qt_sendSpontaneousEvent(widget(), &pressEvent); QMouseEvent releaseEvent(QEvent::MouseButtonRelease, mapped, winMapped, _touchStart, btn, Qt::MouseButtons(btn), Qt::KeyboardModifiers()); qt_sendSpontaneousEvent(widget(), &releaseEvent); if (_touchRightButton) { QContextMenuEvent contextEvent(QContextMenuEvent::Mouse, mapped, _touchStart); qt_sendSpontaneousEvent(widget(), &contextEvent); } #endif } _touchTimer.stop(); _touchRightButton = false; break; case QEvent::TouchCancel: _touchPress = false; _touchScroll = false; _touchScrollState = TouchScrollManual; _touchTimer.stop(); break; } }
MainConfigurationWindow::MainConfigurationWindow() : ConfigurationWindow("MainConfiguration", tr("Kadu configuration"), "General", instanceDataManager()), lookChatAdvanced(0) { setWindowRole("kadu-configuration"); widget()->appendUiFile(dataPath("kadu/configuration/dialog.ui")); #ifndef DEBUG_ENABLED ((QWidget *)(widget()->widgetById("debug")->parent()))->hide(); #endif #ifndef Q_OS_WIN ((QWidget *)(widget()->widgetById("startup")))->hide(); #endif #ifndef Q_WS_X11 ((QWidget *)(widget()->widgetById("windowActivationMethodGroup")))->hide(); ((QWidget *)(widget()->widgetById("notify/fullscreenSilentMode")))->hide(); #endif onStartupSetLastDescription = static_cast<QCheckBox *>(widget()->widgetById("onStartupSetLastDescription")); QLineEdit *disconnectDescription = static_cast<QLineEdit *>(widget()->widgetById("disconnectDescription")); QLineEdit *onStartupSetDescription = static_cast<QLineEdit *>(widget()->widgetById("onStartupSetDescription")); Account account = AccountManager::instance()->defaultAccount(); if (!account.isNull() && account.protocolHandler()) { disconnectDescription->setMaxLength(account.data()->maxDescriptionLength()); onStartupSetDescription->setMaxLength(account.data()->maxDescriptionLength()); } // connect(widget()->widgetById("advancedMode"), SIGNAL(toggled(bool)), widget()->widgetById("contactsWithIcons"), SLOT(setEnabled(bool))); connect(widget()->widgetById("showAvatars"), SIGNAL(toggled(bool)), widget()->widgetById("avatarBorder"), SLOT(setEnabled(bool))); connect(widget()->widgetById("showAvatars"), SIGNAL(toggled(bool)), widget()->widgetById("avatarGreyOut"), SLOT(setEnabled(bool))); connect(widget()->widgetById("disconnectWithCurrentDescription"), SIGNAL(toggled(bool)), disconnectDescription, SLOT(setDisabled(bool))); connect(onStartupSetLastDescription, SIGNAL(toggled(bool)), onStartupSetDescription, SLOT(setDisabled(bool))); connect(widget()->widgetById("foldLink"), SIGNAL(toggled(bool)), widget()->widgetById("linkFoldTreshold"), SLOT(setEnabled(bool))); connect(widget()->widgetById("chatPrune"), SIGNAL(toggled(bool)), widget()->widgetById("chatPruneLen"), SLOT(setEnabled(bool))); connect(widget()->widgetById("chatCloseTimer"), SIGNAL(toggled(bool)), widget()->widgetById("chatCloseTimerPeriod"), SLOT(setEnabled(bool))); connect(widget()->widgetById("startupStatus"), SIGNAL(activated(int)), this, SLOT(onChangeStartupStatus(int))); connect(widget()->widgetById("infoPanelBgFilled"), SIGNAL(toggled(bool)), widget()->widgetById("infoPanelBgColor"), SLOT(setEnabled(bool))); connect(widget()->widgetById("showDescription"), SIGNAL(toggled(bool)), widget()->widgetById("multilineDescription"), SLOT(setEnabled(bool))); // connect(widget()->widgetById("useDefaultServers"), SIGNAL(toggled(bool)), widget()->widgetById("serverList"), SLOT(setDisabled(bool))); connect(widget()->widgetById("openChatOnMessage"), SIGNAL(toggled(bool)), widget()->widgetById("openChatOnMessageWhenOnline"), SLOT(setEnabled(bool))); connect(widget()->widgetById("displayGroupTabs"), SIGNAL(toggled(bool)), widget()->widgetById("showGroupAll"), SLOT(setEnabled(bool))); emoticonsStyleComboBox = static_cast<ConfigComboBox *>(widget()->widgetById("emoticonsStyle")); emoticonsThemeComboBox = static_cast<ConfigComboBox *>(widget()->widgetById("emoticonsTheme")); emoticonsScalingComboBox = static_cast<ConfigComboBox *>(widget()->widgetById("emoticonsScaling")); connect(emoticonsThemeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onChangeEmoticonsTheme(int))); connect(widget()->widgetById("emoticonsPaths"), SIGNAL(changed()), this, SLOT(setEmoticonThemes())); QWidget *showInformationPanel = widget()->widgetById("showInformationPanel"); connect(showInformationPanel, SIGNAL(toggled(bool)), widget()->widgetById("showVerticalScrollbar"), SLOT(setEnabled(bool))); connect(showInformationPanel, SIGNAL(toggled(bool)), widget()->widgetById("showEmoticonsInPanel"), SLOT(setEnabled(bool))); ConfigCheckBox *useDefaultBrowserCheckbox = static_cast<ConfigCheckBox *>(widget()->widgetById("useDefaultBrowser")); ConfigLineEdit *browserCommandLineEdit = static_cast<ConfigLineEdit *>(widget()->widgetById("browserPath")); connect(useDefaultBrowserCheckbox, SIGNAL(toggled(bool)), browserCommandLineEdit, SLOT(setDisabled(bool))); ConfigCheckBox *useDefaultEMailCheckbox = static_cast<ConfigCheckBox *>(widget()->widgetById("useDefaultEMail")); ConfigLineEdit *mailCommandLineEdit = static_cast<ConfigLineEdit *>(widget()->widgetById("mailPath")); connect(useDefaultEMailCheckbox, SIGNAL(toggled(bool)), mailCommandLineEdit, SLOT(setDisabled(bool))); connect(widget()->widgetById("lookChatAdvanced"), SIGNAL(clicked()), this, SLOT(showLookChatAdvanced())); Preview *infoPanelSyntaxPreview = static_cast<Preview *>(widget()->widgetById("infoPanelSyntaxPreview")); infoPanelSyntaxPreview->setResetBackgroundColor(config_file.readEntry("Look", "InfoPanelBgColor")); connect(infoPanelSyntaxPreview, SIGNAL(needFixup(QString &)), Core::instance()->kaduWindow()->infoPanel(), SLOT(styleFixup(QString &))); connect(widget()->widgetById("infoPanelSyntax"), SIGNAL(syntaxChanged(const QString &)), infoPanelSyntaxPreview, SLOT(syntaxChanged(const QString &))); connect(widget()->widgetById("infoPanelSyntax"), SIGNAL(onSyntaxEditorWindowCreated(SyntaxEditorWindow *)), this, SLOT(onInfoPanelSyntaxEditorWindowCreated(SyntaxEditorWindow *))); connect(widget()->widgetById("iconPaths"), SIGNAL(changed()), this, SLOT(setIconThemes())); connect(widget()->widgetById("ignoreMessagesFromAnonymous"), SIGNAL(toggled(bool)), widget()->widgetById("ignoreMessagesFromAnonymousInConferences"), SLOT(setEnabled(bool))); QWidget *useUserboxBackground = widget()->widgetById("useUserboxBackground"); connect(useUserboxBackground, SIGNAL(toggled(bool)), widget()->widgetById("userboxBackground"), SLOT(setEnabled(bool))); connect(useUserboxBackground, SIGNAL(toggled(bool)), widget()->widgetById("userboxBackgroundDisplayStyle"), SLOT(setEnabled(bool))); widget()->widgetById("parseStatus")->setToolTip(qApp->translate("@default", SyntaxText)); (static_cast<ConfigSyntaxEditor *>(widget()->widgetById("infoPanelSyntax")))->setSyntaxHint(qApp->translate("@default", SyntaxText)); userboxTransparency = static_cast<QCheckBox *>(widget()->widgetById("userboxTransparency")); userboxAlpha = static_cast<QSlider *>(widget()->widgetById("userboxAlpha")); connect(userboxTransparency, SIGNAL(toggled(bool)), widget()->widgetById("userboxAlpha"), SLOT(setEnabled(bool))); buddyColors = new BuddyListBackgroundColorsWidget(this); triggerCompositingStateChanged(); }
void PLineEdit::messageHandler(int fd, PukeMessage *pm) { PukeMessage pmRet; switch(pm->iCommand){ case PUKE_LINED_SET_MAXLENGTH: if(widget() == 0){ debug("PLineEdit: No Widget set"); return; } widget()->setMaxLength(pm->iArg); pmRet.iCommand = - pm->iCommand; pmRet.iWinId = pm->iWinId; pmRet.iArg = widget()->maxLength(); pmRet.cArg = 0; emit outputMessage(fd, &pmRet); break; case PUKE_LINED_SET_ECHOMODE: if(widget() == 0){ debug("PLineEdit: No Widget set"); return; } widget()->setEchoMode((QLineEdit::EchoMode) pm->iArg); pmRet.iCommand = - pm->iCommand; pmRet.iWinId = pm->iWinId; pmRet.iArg = widget()->echoMode(); pmRet.cArg = 0; emit outputMessage(fd, &pmRet); break; case PUKE_LINED_SET_TEXT: if(widget() == 0){ debug("PLineEdit: No Widget set"); return; } debug("PukeLine Edit: Got: %s", pm->cArg); widget()->setText(pm->cArg); pmRet.iCommand = - pm->iCommand; pmRet.iWinId = pm->iWinId; pmRet.iArg = 0; pmRet.iTextSize = strlen(widget()->text()); pmRet.cArg = new char[strlen(widget()->text())+1]; strcpy(pmRet.cArg, widget()->text()); emit outputMessage(fd, &pmRet); delete[] pmRet.cArg; break; case PUKE_LINED_GET_TEXT: if(widget() == 0){ debug("PLineEdit: No Widget set"); return; } pmRet.iCommand = - pm->iCommand; pmRet.iWinId = pm->iWinId; pmRet.iArg = 0; pmRet.iTextSize = strlen(widget()->text()); pmRet.cArg = new char[strlen(widget()->text())+1]; strcpy(pmRet.cArg, widget()->text()); emit outputMessage(fd, &pmRet); delete[] pmRet.cArg; break; default: PWidget::messageHandler(fd, pm); } }
void MainConfigurationWindow::onChangeStartupStatus(int index) { onStartupSetLastDescription->setEnabled(index != 6); widget()->widgetById("startupStatusInvisibleWhenLastWasOffline")->setEnabled(index == 0); widget()->widgetById("onStartupSetDescription")->setEnabled(!onStartupSetLastDescription->isChecked() && index != 6); }
void QgsRelationWidgetWrapper::setFeature( const QgsFeature& feature ) { delete ( mRelationWidget ); mRelationWidget = QgsRelationEditorWidget::createRelationEditor( mRelation, feature, context(), widget() ); widget()->layout()->addWidget( mRelationWidget ); }
void MainConfigurationWindow::setLanguages() { ConfigComboBox *languages = static_cast<ConfigComboBox *>(widget()->widgetById("languages")); languages->setItems(LanguagesManager::languageValues(), LanguagesManager::languageNames()); }
void Desktop::HandleEvent( const sf::Event& event ) { // Activate context. Context::Activate( m_context ); sf::Vector2f local_pos; bool check_inside( false ); Widget::Ptr last_receiver( m_last_receiver.lock() ); // If we've got a mouse event, get local mouse position and mark event for being checked against widget's allocation. if( event.type == sf::Event::MouseMoved ) { m_last_mouse_pos.x = event.mouseMove.x; m_last_mouse_pos.y = event.mouseMove.y; local_pos = TransformToLocal( sf::Vector2f( static_cast<float>( event.mouseMove.x ), static_cast<float>( event.mouseMove.y ) ) ); check_inside = true; } else if( event.type == sf::Event::MouseButtonPressed || event.type == sf::Event::MouseButtonReleased ) { m_last_mouse_pos.x = event.mouseButton.x; m_last_mouse_pos.y = event.mouseButton.y; local_pos = TransformToLocal( sf::Vector2f( static_cast<float>( event.mouseButton.x ), static_cast<float>( event.mouseButton.y ) ) ); check_inside = true; } for( std::size_t index = 0; index < m_children.size(); ++index ) { Widget::Ptr widget( m_children[index] ); // Skip widget if not visible. if( !widget->IsVisible() ) { continue; } bool is_inside( widget->GetAllocation().contains( local_pos ) ); // If the event is a mouse button press, check if we need to focus another widget. if( index > 0 && event.type == sf::Event::MouseButtonPressed && is_inside ) { m_children.erase( m_children.begin() + index ); m_children.push_front( widget ); RecalculateWidgetLevels(); } // If inside check is needed, do so for all widgets except the top window. // Else it would run into trouble when moving the window, for example, // where the mouse may be outside the widget's allocation. if( check_inside && !is_inside && index > 0 ) { continue; } // If last receiver is different from current, fake a mouse move event so // that states are reset correctly. Warning, this is a hack, but it works™. // The fake event is also sent when the last mouse move event receiver // isn't the current and top one. if( event.type == sf::Event::MouseMoved && last_receiver && last_receiver != widget && last_receiver != m_children.front() ) { SendFakeMouseMoveEvent( last_receiver ); m_last_receiver = widget; last_receiver = widget; } widget->HandleEvent( event ); if( check_inside && is_inside ) { if( index < m_children.size() && widget == m_children[index] ) { m_last_receiver = widget; } break; } } // Restore previous context. Context::Deactivate(); }
void QXlibWindow::handleLeaveEvent() { QWindowSystemInterface::handleLeaveEvent(widget()); }
void SlidingStackedWidget::slideInWgt(QWidget * newwidget, enum t_direction direction) { if (m_active) { animationDoneSlot(); m_animationGroup->stop(); m_animationGroup->disconnect(); } m_active=true; enum t_direction directionhint; int now=currentIndex(); //currentIndex() is a function inherited from QStackedWidget int next=indexOf(newwidget); if (now==next) { m_active=false; return; } else if (now<next){ directionhint=m_vertical ? TOP2BOTTOM : RIGHT2LEFT; } else { directionhint=m_vertical ? BOTTOM2TOP : LEFT2RIGHT; } if (direction == AUTOMATIC) { direction=directionhint; } //NOW.... //calculate the shifts int offsetx=frameRect().width(); //inherited from mother int offsety=frameRect().height();//inherited from mother //the following is important, to ensure that the new widget //has correct geometry information when sliding in first time widget(next)->setGeometry ( 0, 0, offsetx, offsety ); if (direction==BOTTOM2TOP) { offsetx=0; offsety=-offsety; } else if (direction==TOP2BOTTOM) { offsetx=0; //offsety=offsety; } else if (direction==RIGHT2LEFT) { offsetx=-offsetx; offsety=0; } else if (direction==LEFT2RIGHT) { //offsetx=offsetx; offsety=0; } //re-position the next widget outside/aside of the display area QPoint pnext=widget(next)->pos(); QPoint pnow=widget(now)->pos(); m_pnow=pnow; widget(next)->move(pnext.x()-offsetx,pnext.y()-offsety); //make it visible/show widget(next)->show(); widget(next)->raise(); //animate both, the now and next widget to the side, using animation framework m_animnow->setTargetObject(widget(now)); m_animnow->setPropertyName("pos"); m_animnow->setDuration(m_speed); m_animnow->setEasingCurve(m_animationtype); m_animnow->setStartValue(QPoint(pnow.x(), pnow.y())); m_animnow->setEndValue(QPoint(offsetx+pnow.x(), offsety+pnow.y())); m_animnext->setTargetObject(widget(next)); m_animnext->setPropertyName("pos"); m_animnext->setDuration(m_speed); m_animnext->setEasingCurve(m_animationtype); m_animnext->setStartValue(QPoint(-offsetx+pnext.x(), offsety+pnext.y())); m_animnext->setEndValue(QPoint(pnext.x(), pnext.y())); QObject::connect(m_animationGroup, SIGNAL(finished()),this,SLOT(animationDoneSlot())); m_next=next; m_now=now; m_active=true; m_animationGroup->start(); //note; the rest is done via a connect from the animation ready; //animation->finished() provides a signal when animation is done; //so we connect this to some post processing slot, //that we implement here below in animationDoneSlot. }
void QXlibWindow::handleFocusInEvent() { QWindowSystemInterface::handleWindowActivated(widget()); }
void Decoration::resize(const QSize &s) { widget()->resize(s); }
// Override a web page NS_IMETHODIMP nsParentalControlsServiceWin::RequestURIOverrides(nsIArray *aTargets, nsIInterfaceRequestor *aWindowContext, bool *_retval) { *_retval = false; if (!mEnabled) return NS_ERROR_NOT_AVAILABLE; NS_ENSURE_ARG_POINTER(aTargets); PRUint32 arrayLength = 0; aTargets->GetLength(&arrayLength); if (!arrayLength) return NS_ERROR_INVALID_ARG; if (arrayLength == 1) { nsCOMPtr<nsIURI> uri = do_QueryElementAt(aTargets, 0); if (!uri) return NS_ERROR_INVALID_ARG; return RequestURIOverride(uri, aWindowContext, _retval); } HWND hWnd = nullptr; // If we have a native window, use its handle instead nsCOMPtr<nsIWidget> widget(do_GetInterface(aWindowContext)); if (widget) hWnd = (HWND)widget->GetNativeData(NS_NATIVE_WINDOW); if (hWnd == nullptr) hWnd = GetDesktopWindow(); // The first entry should be the root uri nsCAutoString rootSpec; nsCOMPtr<nsIURI> rootURI = do_QueryElementAt(aTargets, 0); if (!rootURI) return NS_ERROR_INVALID_ARG; rootURI->GetSpec(rootSpec); if (rootSpec.IsEmpty()) return NS_ERROR_INVALID_ARG; // Allocate an array of sub uri PRInt32 count = arrayLength - 1; nsAutoArrayPtr<LPCWSTR> arrUrls(new LPCWSTR[count]); if (!arrUrls) return NS_ERROR_OUT_OF_MEMORY; PRUint32 uriIdx = 0, idx; for (idx = 1; idx < arrayLength; idx++) { nsCOMPtr<nsIURI> uri = do_QueryElementAt(aTargets, idx); if (!uri) continue; nsCAutoString subURI; if (NS_FAILED(uri->GetSpec(subURI))) continue; arrUrls[uriIdx] = (LPCWSTR)UTF8ToNewUnicode(subURI); // allocation if (!arrUrls[uriIdx]) continue; uriIdx++; } if (!uriIdx) return NS_ERROR_INVALID_ARG; BOOL ret; nsRefPtr<IWPCWebSettings> wpcws; if (SUCCEEDED(mPC->GetWebSettings(NULL, getter_AddRefs(wpcws)))) { wpcws->RequestURLOverride(hWnd, NS_ConvertUTF8toUTF16(rootSpec).get(), uriIdx, (LPCWSTR*)arrUrls.get(), &ret); *_retval = ret; } // Free up the allocated strings in our array for (idx = 0; idx < uriIdx; idx++) NS_Free((void*)arrUrls[idx]); return NS_OK; }