void LocationCompleter::showPopup() { Q_ASSERT(m_locationBar); if (s_model->rowCount() == 0) { s_view->close(); return; } if (s_view->isVisible()) { adjustPopupSize(); return; } QRect popupRect(m_locationBar->mapToGlobal(m_locationBar->pos()), m_locationBar->size()); popupRect.setY(popupRect.bottom()); s_view->setGeometry(popupRect); s_view->setFocusProxy(m_locationBar); s_view->setCurrentIndex(QModelIndex()); connect(s_view, SIGNAL(closed()), this, SLOT(slotPopupClosed())); connect(s_view, SIGNAL(indexActivated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); connect(s_view, SIGNAL(indexCtrlActivated(QModelIndex)), this, SLOT(indexCtrlActivated(QModelIndex))); connect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex))); connect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex))); connect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex))); adjustPopupSize(); }
void LocationCompleter::slotPopupClosed() { disconnect(s_view, SIGNAL(closed()), this, SLOT(slotPopupClosed())); disconnect(s_view, SIGNAL(indexActivated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexCtrlActivated(QModelIndex)), this, SLOT(indexCtrlActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex))); disconnect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex))); emit popupClosed(); }
void LocationCompleter::slotPopupClosed() { m_popupClosed = true; m_oldSuggestions.clear(); disconnect(s_view, SIGNAL(closed()), this, SLOT(slotPopupClosed())); disconnect(s_view, SIGNAL(indexActivated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexCtrlActivated(QModelIndex)), this, SLOT(indexCtrlActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex))); disconnect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex))); disconnect(s_view, &LocationCompleterView::loadRequested, this, &LocationCompleter::loadRequested); disconnect(s_view, &LocationCompleterView::searchEnginesDialogRequested, this, &LocationCompleter::openSearchEnginesDialog); disconnect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex))); emit popupClosed(); }
StartMainPage::StartMainPage(QWidget* parent, GvCore* gvCore) : QFrame(parent) , d(new StartMainPagePrivate) { d->q = this; d->mGvCore = gvCore; d->mSearchUiInitialized = false; d->setupUi(this); if (styleIsGtkBased()) { // Gtk-based styles do not apply the correct background color on tabs. // As a workaround, use the Plastique style instead. QStyle* fix = new QPlastiqueStyle(); fix->setParent(this); d->mHistoryWidget->tabBar()->setStyle(fix); d->mPlacesTagsWidget->tabBar()->setStyle(fix); } setFrameStyle(QFrame::NoFrame); // Bookmark view d->mBookmarksModel = new KFilePlacesModel(this); d->mBookmarksView->setModel(d->mBookmarksModel); d->mBookmarksView->setAutoResizeItemsEnabled(false); connect(d->mBookmarksView, SIGNAL(urlChanged(KUrl)), SIGNAL(urlSelected(KUrl))); // Tag view connect(d->mTagView, SIGNAL(clicked(QModelIndex)), SLOT(slotTagViewClicked(QModelIndex))); // Recent folder view connect(d->mRecentFoldersView, SIGNAL(indexActivated(QModelIndex)), SLOT(slotListViewActivated(QModelIndex))); connect(d->mRecentFoldersView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showRecentFoldersViewContextMenu(QPoint))); // Url bag view d->mRecentUrlsView->setItemDelegate(new HistoryViewDelegate(d->mRecentUrlsView)); connect(d->mRecentUrlsView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showRecentFoldersViewContextMenu(QPoint))); if (KGlobalSettings::singleClick()) { if (KGlobalSettings::changeCursorOverIcon()) { d->mRecentUrlsView->setCursor(Qt::PointingHandCursor); } connect(d->mRecentUrlsView, SIGNAL(clicked(QModelIndex)), SLOT(slotListViewActivated(QModelIndex))); } else { connect(d->mRecentUrlsView, SIGNAL(doubleClicked(QModelIndex)), SLOT(slotListViewActivated(QModelIndex))); } d->updateHistoryTab(); connect(GwenviewConfig::self(), SIGNAL(configChanged()), SLOT(slotConfigChanged())); }
/** Define the QLineEdit to use as zip code editor */ void ZipCountryCompleters::setZipLineEdit(QLineEdit *zip) { m_Zip = zip; // Completer QCompleter *completer = new QCompleter(this); completer->setModel(m_Model); completer->setCompletionColumn(ZipCountryModel::ZipCity); completer->setCaseSensitivity(Qt::CaseInsensitive); completer->setCompletionMode(QCompleter::UnfilteredPopupCompletion); completer->popup()->setAlternatingRowColors(true); zip->setCompleter(completer); connect(m_Zip, SIGNAL(textChanged(QString)), this, SLOT(zipTextChanged())); connect(completer, SIGNAL(activated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); // button m_ZipButton = new QToolButton(m_Zip); m_ZipButton->setToolTip("Zip button"); m_ZipButton->setToolButtonStyle(Qt::ToolButtonIconOnly); m_ZipButton->setIconSize(QSize(16,16)); m_ZipButton->setIcon(QIcon(QDir::cleanPath(qApp->applicationDirPath() + "/../../../../../global_resources/pixmap/16x16/ok.png"))); m_ZipButton->setMinimumSize(20,20); m_ZipButton->setMaximumSize(20,20); m_ZipButton->setStyleSheet("QToolButton { border: none; padding: 0px; }"); m_ZipButton->show(); int frameWidth = m_Zip->style()->pixelMetric(QStyle::PM_DefaultFrameWidth); QSize msz = m_Zip->minimumSizeHint(); m_Zip->setMinimumSize(qMax(msz.width(), m_ZipButton->maximumHeight() + frameWidth * 2 + 2), qMax(msz.height(), m_ZipButton->maximumHeight() + frameWidth * 2 + 2)); m_Zip->setStyleSheet(QString("padding-left: %1px;").arg(m_ZipButton->sizeHint().width() + frameWidth)); m_Zip->installEventFilter(this); }
void LocationCompleter::showPopup() { Q_ASSERT(m_window); Q_ASSERT(m_locationBar); if (!m_locationBar->hasFocus() || s_model->rowCount() == 0) { s_view->close(); return; } if (s_view->isVisible()) { adjustPopupSize(); return; } QRect popupRect(m_locationBar->mapToGlobal(m_locationBar->pos()), m_locationBar->size()); popupRect.setY(popupRect.bottom()); s_view->setGeometry(popupRect); s_view->setFocusProxy(m_locationBar); s_view->setCurrentIndex(QModelIndex()); connect(s_view, SIGNAL(closed()), this, SLOT(slotPopupClosed())); connect(s_view, SIGNAL(indexActivated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); connect(s_view, SIGNAL(indexCtrlActivated(QModelIndex)), this, SLOT(indexCtrlActivated(QModelIndex))); connect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex))); connect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex))); connect(s_view, &LocationCompleterView::loadRequested, this, &LocationCompleter::loadRequested); connect(s_view, &LocationCompleterView::searchEnginesDialogRequested, this, &LocationCompleter::openSearchEnginesDialog); connect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex))); s_view->createWinId(); s_view->windowHandle()->setTransientParent(m_window->windowHandle()); adjustPopupSize(); }
void ObjectLookupDialog::createUi() { setAttribute(Qt::WA_DeleteOnClose, false); setWindowFlags(Qt::FramelessWindowHint|Qt::Popup); setBackgroundRole(QPalette::Window); //setAutoFillBackground(true); //setBackgroundRole(QPalette::Base); //setModal(true); //setAutoFillBackground(false); //setAttribute(Qt::WA_TranslucentBackground, true); // setStyleSheet( //"padding: 0px;" // "border-style: solid;" // "border-color: gray;" // "border-width: 1px;" // "border-radius: 2px;" // ); QVBoxLayout *mainLayout = new QVBoxLayout(); mainLayout->setContentsMargins(1,1,1,1); mainLayout->setSpacing(0); objectNameEditor = new QLineEdit(); objectNameEditor->setFrame(false); //WidgetHelper::changeFontSize(objectNameEditor, -1); mainLayout->addWidget(objectNameEditor); mainLayout->setAlignment(objectNameEditor, Qt::AlignTop); table = new DataTable(); table->setFrameStyle(QFrame::NoFrame); table->setUiManager(uiManager); table->verticalHeader()->hide(); table->horizontalHeader()->hide(); table->setSelectionBehavior(QAbstractItemView::SelectRows); table->setSelectionMode(QAbstractItemView::SingleSelection); table->setGridStyle(Qt::NoPen); table->setModel(new QStandardItemModel(0, 3, this)); table->hideColumn(2); table->hideColumn(1); table->horizontalHeader()->setStretchLastSection(true); table->setContentsMargins(0,0,0,0); table->setObjectListMode(1, 0, -1, 2); table->setIconColumn("OBJECT_NAME", "ICON_NAME"); table->setVisible(false); WidgetHelper::changeFontSize(table, -1); mainLayout->addWidget(table); setLayout(mainLayout); objectNameEditor->setFocus(); connect(objectNameEditor, SIGNAL(textEdited(QString)), this, SLOT(textEdited(QString))); connect(table, SIGNAL(firstFetchCompleted()), this, SLOT(firstFetchCompleted())); connect(table, SIGNAL(contextMenuTriggered(QAction*)), this, SLOT(hide())); connect(table, SIGNAL(activated(QModelIndex)), this, SLOT(indexActivated(QModelIndex))); QSize hint = sizeHint(); resize(qMax(hint.width(), 300), hint.height()); DialogHelper::centerWindow(this); objectNameEditor->installEventFilter(this); table->installEventFilter(this); }