KTextEditor
katemodemenulist.cpp
34 return (c <= 126 && c >= 33 && (c >= 123 || c <= 47 || (c <= 96 && c >= 58 && c != 95 && (c >= 91 || c <= 63)))) || c == 171 || c == 187;
143 "Search for syntax highlighting modes by language name or file extension (for example, C++ or .cpp)"));
170 layoutScrollBar->setContentsMargins(1, 2, 2, 2); // ScrollBar Margin = 2, Also see: KateModeMenuListData::ListView::getContentWidth()
186 connect(m_list, &KateModeMenuListData::ListView::clicked, this, &KateModeMenuList::selectHighlighting);
260 if (!hl->translatedSection.isEmpty() && (prevHlSection == nullptr || hl->translatedSection != *prevHlSection)) {
285 KateModeMenuListData::ListItem *KateModeMenuList::createSectionList(const QString §ionName, const QBrush &background, bool bSeparator, int modelPosition)
348 int heightSectionMargin = m_list->visualRect(m_model->index(section->row(), 0)).height() - label->sizeHint().height();
351 label->setText(setWordWrap(label->text(), containerTextWidth - label->indent(), label->fontMetrics()));
355 section->setSizeHint(QSize(section->sizeHint().width(), label->sizeHint().height() + heightSectionMargin));
363 void KateModeMenuList::setButton(QPushButton *button, AlignmentHButton positionX, AlignmentVButton positionY, AutoUpdateTextButton autoUpdateTextButton)
431 const int buttonPositionRight = m_pushButton->mapToGlobal(QPoint(0, 0)).x() + m_pushButton->geometry().width();
464 if (!m_selectedItem || (m_selectedItem->hasMode() && m_selectedItem->getMode()->name != doc->fileType())) {
496 void KateModeMenuList::selectHighlightingSetVisibility(QStandardItem *pItem, const bool bHideMenu)
526 KateModeMenuListData::ListItem *item = static_cast<KateModeMenuListData::ListItem *>(m_model->item(i, 0));
531 if (item->getMode()->name == nameMode || (nameMode.isEmpty() && item->getMode()->name == QLatin1String("Normal"))) {
566 m_emptyListMsg = new QLabel(i18nc("A search yielded no results", "No items matching your search"), this);
573 m_emptyListMsg->setStyleSheet(QLatin1String("font-size: ") + QString::number(fontSize) + QLatin1String("pt; color: rgba(") + QString::number(color.red())
574 + QLatin1Char(',') + QString::number(color.green()) + QLatin1Char(',') + QString::number(color.blue())
581 QString KateModeMenuList::setWordWrap(const QString &text, const int maxWidth, const QFontMetrics &fontMetrics) const
604 fontMetrics.elidedText(words[i], m_list->layoutDirection() == Qt::RightToLeft ? Qt::ElideLeft : Qt::ElideRight, maxWidth) + QLatin1Char('\n');
612 && fontMetrics.horizontalAdvance(tmpLineText + QLatin1Char(' ') + words[i + 1] + QLatin1Char(' ') + words[i + 2]) > maxWidth) {
617 else if (fontMetrics.horizontalAdvance(tmpLineText + QLatin1Char(' ') + words[i + 1]) > maxWidth) {
631 if (isDelimiter(words[lastw][c].unicode()) && fontMetrics.horizontalAdvance(words[lastw].mid(0, c + 1)) <= maxWidth) {
650 newText += fontMetrics.elidedText(words[words.count() - 1], m_list->layoutDirection() == Qt::RightToLeft ? Qt::ElideLeft : Qt::ElideRight, maxWidth);
678 int KateModeMenuListData::ListView::getContentWidth(const int overlayScrollbarMargin, const int classicScrollbarMargin) const
681 return getWidth() - m_parentMenu->m_scroll->sizeHint().width() - 2 - overlayScrollbarMargin; // ScrollBar Margin = 2
705 if (bNewName && i < searchName.length() - 1 && searchName[i].isSpace() && searchName[i + 1].isSpace()) {
738 if (text.length() == ext.length() - 2 && text.compare(QStringView(ext).mid(2), Qt::CaseInsensitive) == 0) {
755 && (event->modifiers().testFlag(Qt::ControlModifier) || event->modifiers().testFlag(Qt::AltModifier) || event->modifiers().testFlag(Qt::ShiftModifier)
770 && (event->matches(QKeySequence::MoveToNextLine) || event->matches(QKeySequence::SelectNextLine) || event->matches(QKeySequence::MoveToPreviousLine)
771 || event->matches(QKeySequence::SelectPreviousLine) || event->matches(QKeySequence::MoveToNextPage) || event->matches(QKeySequence::SelectNextPage)
772 || event->matches(QKeySequence::MoveToPreviousPage) || event->matches(QKeySequence::SelectPreviousPage) || event->key() == Qt::Key_Return
782 connect(this, &KateModeMenuListData::SearchLine::textChanged, this, &KateModeMenuListData::SearchLine::_k_queueSearch);
845 listModel->insertRow(m_bestResults.at(i).second + sizeBestResults - i - 1, m_bestResults.at(i).first);
980 KateModeMenuListData::ListItem *item = static_cast<KateModeMenuListData::ListItem *>(listModel->item(i, 0));
987 item->generateSearchName(item->getMode()->translatedName.isEmpty() ? item->getMode()->name : item->getMode()->translatedName);
997 || (bExactMatch && item->getMode()->nameTranslated().compare(searchText, m_caseSensitivity) == 0))) {
1050 } else if (bExactMatch && item->getMode()->nameTranslated().contains(searchText, m_caseSensitivity)) {
1071 if (bEmptySection && lastSection > 0 && !listModel->item(listModel->rowCount() - 1, 0)->text().isEmpty()) {
1091 i18nc("Title (in singular) of the best result in an item search. Please, that the translation doesn't have more than 34 characters, since the "
1096 i18nc("Title (in plural) of the best results in an item search. Please, that the translation doesn't have more than 34 characters, since the "
1101 int heightSectionMargin = m_parentMenu->m_defaultHeightItemSection - labelSection->sizeHint().height();
1106 // NOTE: labelSection->sizeHint().width() == labelSection->indent() + labelSection->fontMetrics().horizontalAdvance(labelSection->text())
1110 listModel->item(0, 0)->setSizeHint(QSize(listModel->item(0, 0)->sizeHint().width(), labelSection->sizeHint().height() + heightSectionMargin));
1120 if (searchText.length() == 1 && searchText.compare(QLatin1String("r"), m_caseSensitivity) == 0) {
1146 if (listView->visualRect(listModel->index(lastItem, 0)).bottom() + labelSection->sizeHint().height() + heightSectionMargin
1149 labelSection->setText(m_parentMenu->setWordWrap(labelSection->text(), maxWidthText, labelSection->fontMetrics()));
1151 listModel->item(0, 0)->setSizeHint(QSize(listModel->item(0, 0)->sizeHint().width(), labelSection->sizeHint().height() + heightSectionMargin));
1171 else if (m_parentMenu->m_scroll && listView->visualRect(listModel->index(lastItem, 0)).bottom() <= listView->geometry().height()) {
PlainText
QList< QStandardItem * > takeRow(int row)
void setPlaceholderText(const QString &)
AlignLeft
bool isNull() const const
void setFlags(Qt::ItemFlags flags)
QFontMetrics fontMetrics() const const
void setText(const QString &)
QWidget(QWidget *parent, Qt::WindowFlags f)
QString number(int n, int base)
void setMode(KateFileType *type)
Associate this item with a KateFileType object.
Definition: katemodemenulist.h:383
pos
int size() const const
CaseInsensitive
void setEditable(bool editable)
int row() const const
Text
palette
void setSizeList(const int height, const int width=266)
Define the size of the widget list.
Definition: katemodemenulist.cpp:663
QString text() const const
virtual void setModel(QAbstractItemModel *model)
singleShot
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
int count(const T &value) const const
void scrollToTop()
bool matchExtension(const QString &text) const
Find matches in the extensions of the item mode, with a text.
Definition: katemodemenulist.cpp:725
bool selectHighlightingFromExternal()
Update the selected item in the list widget, but without changing the syntax highlighting in the docu...
Definition: katemodemenulist.cpp:555
bool generateSearchName(const QString &itemName)
Generate name of the item used for the search.
Definition: katemodemenulist.cpp:691
QString trimmed() const const
void clear()
int horizontalAdvance(const QString &text, int len) const const
int red() const const
void setMaxLength(int)
font
QItemSelectionModel * selectionModel() const const
void setText(const QString &text)
void fill(const QColor &color)
void setFocusProxy(QWidget *w)
void selectAll()
void setFrameStyle(int style)
virtual void keyPressEvent(QKeyEvent *event) override
ScrollBarAlwaysOff
void setStyleSheet(const QString &styleSheet)
int width() const const
void setWordWrap(bool on)
void setVerticalScrollBar(QScrollBar *scrollBar)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void setDefaultWidget(QWidget *widget)
void hide()
void addWidget(QWidget *widget, int stretch, Qt::Alignment alignment)
void setMaximumWidth(int maxw)
Deselect
AlignmentHButton
Horizontal Alignment with respect to the trigger button.
Definition: katemodemenulist.h:70
virtual QRect visualRect(const QModelIndex &index) const const override
void clear()
int bottom() const const
Class of an Item of the Data Model of the List.
Definition: katemodemenulist.h:362
QString::const_iterator constBegin() const const
NoItemFlags
void setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const override
ActiveWindowFocusReason
QSize sizeHint() const const
int height() const const
void keyPressEvent(QKeyEvent *event) override
Override from QListView.
Definition: katemodemenulist.cpp:751
bool sendEvent(QObject *receiver, QEvent *event)
void setAlignment(Qt::Alignment)
void addLayout(QLayout *layout, int row, int column, Qt::Alignment alignment)
void setWidth(const int width)
Define the width of the search bar, in pixels.
Definition: katemodemenulist.cpp:657
text
QList< T > mid(int pos, int length) const const
void textChanged(const QString &text)
indent
Vertical
bool isEmpty() const const
MoveToNextLine
int length() const const
typedef const_iterator
void setIconSize(const QSize &size)
void updateMenu(KTextEditor::Document *doc)
Set document to apply the syntax highlighting.
Definition: katemodemenulist.cpp:1203
void clear()
QModelIndex index() const const
int green() const const
void showEvent(QShowEvent *event) override
Action when displaying the menu.
Definition: katemodemenulist.cpp:398
QString::const_iterator constEnd() const const
Bold
Key_Enter
QWidget * indexWidget(const QModelIndex &index) const const
void setEnabled(bool enabled)
void insert(int i, const T &value)
QString & replace(int position, int n, QChar after)
int getContentWidth() const
Get the width of the contents of the list (in pixels), that is, the list minus the scroll bar and mar...
Definition: katemodemenulist.cpp:686
QString & remove(int position, int n)
int row() const const
virtual void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
QString label(StandardShortcut id)
void setIcon(const QIcon &icon)
HLine
ElideLeft
virtual QSize sizeHint() const const override
void setBackground(const QBrush &brush)
height
void setButton(QPushButton *button, AlignmentHButton positionX=AlignHDefault, AlignmentVButton positionY=AlignTop, AutoUpdateTextButton autoUpdateTextButton=AutoUpdateTextButton(false))
Set the button that shows this menu.
Definition: katemodemenulist.cpp:363
int height() const const
void setMargin(int)
void setIndexWidget(const QModelIndex &index, QWidget *widget)
void setToolTip(const QString &)
bool isSelectable() const const
PositionAtCenter
void insertRow(int row, const QList< QStandardItem * > &items)
int blue() const const
bool isRowHidden(int row) const const
void setResizeMode(QListView::ResizeMode mode)
RightToLeft
void setContentsMargins(int left, int top, int right, int bottom)
Adjust
QString i18nc(const char *context, const char *text, const TYPE &arg...)
void addWidget(QWidget *widget, int row, int column, Qt::Alignment alignment)
void move(int x, int y)
geometry
void setMinimumWidth(int minw)
virtual int rowCount(const QModelIndex &parent) const const override
void addLayout(QLayout *layout, int stretch)
void setRowHidden(int row, bool hide)
int compare(const QString &other, Qt::CaseSensitivity cs) const const
bool isHidden() const const
void setSelectable(bool selectable)
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
width
virtual void clear()
QStandardItem * item(int row, int column) const const
ControlModifier
void clicked(const QModelIndex &index)
QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags) const const
layoutDirection
QString mid(int position, int n) const const
virtual void keyPressEvent(QKeyEvent *event) override
void setFocus()
bool isEnabled() const const
void setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)
void keyPressEvent(QKeyEvent *event) override
Override from QLineEdit.
Definition: katemodemenulist.cpp:767
void appendRow(const QList< QStandardItem * > &items)
QString & append(QChar ch)
transparent
void setSizeHint(const QSize &size)
void setFamily(const QString &family)
AlignmentVButton
Vertical Alignment with respect to the trigger button.
Definition: katemodemenulist.h:77
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 12 2022 03:48:54 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 12 2022 03:48:54 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.