void PropertyBrowser::initView() { setEditTriggers(QAbstractItemView::AllEditTriggers); setAlternatingRowColors(true); setUniformRowHeights(true); setTabKeyNavigation(true); }
PlayListWidget::PlayListWidget(QWidget* parent) : QTreeWidget(parent){ // qDebug() << this << "constructor()"; setRootIsDecorated(false); setSortingEnabled(false); setAcceptDrops(true); setDragEnabled(true); setItemsExpandable(false); setTabKeyNavigation(false); setSelectionMode(QAbstractItemView::ExtendedSelection); setAlternatingRowColors(true); setAllColumnsShowFocus(true); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); header()->setContextMenuPolicy(Qt::CustomContextMenu); connect( header(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(headerContextMenu(const QPoint&)) ); QStringList headerLabels; headerLabels << "*" << "Artist" << "Album" << "Title" << "Date" << "Genre"<< "Track No." << "Length"; setHeaderLabels(headerLabels); tabs=(PlayListTabs*) parentWidget(); dropPointer=new DropPointer(this); dropPointer->hide(); dropPointer->setWidth(visibleWidth()); dropPointer->moveTo(0); refreshConfig(); connectConfigUpdate(); connect( this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(doubleClicked(QTreeWidgetItem*,int)) ); connect( this, SIGNAL(playItem(PlayListItem*)), tabs, SLOT(playItem(PlayListItem*)) ); connect( this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(deselect(QTreeWidgetItem*,int)) ); connect( verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(printPos(int)) ); firstShow=true; scrollPosition=0; }
SearchEditorTreeView::SearchEditorTreeView(QWidget* parent) : QTreeView(parent) { setAcceptDrops(true); setDropIndicatorShown(true); setDragDropMode(QAbstractItemView::InternalMove); setAutoScroll(true); setSelectionMode(QAbstractItemView::ExtendedSelection); setSelectionBehavior(QAbstractItemView::SelectRows); setSortingEnabled(false); setTabKeyNavigation(true); }
TableView::TableView(QWidget* parent) : QTableView(parent), m_ctrlPress(false) { setShowGrid(false); verticalHeader()->hide(); setTabKeyNavigation(false); setAlternatingRowColors(true); setWordWrap(false); setEditTriggers(QAbstractItemView::NoEditTriggers); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::SingleSelection); setHorizontalHeader(m_headers = new TableHeaderView(Qt::Horizontal, this)); connect(this, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(doubleClickedSlot(const QModelIndex&))); }
ClipboardBrowser::ClipboardBrowser(QWidget *parent, const ClipboardBrowserSharedPtr &sharedData) : QListView(parent) , m_itemLoader() , m_tabName() , m_lastFiltered(-1) , m(this) , d(this) , m_invalidateCache(false) , m_expireAfterEditing(false) , m_editor(NULL) , m_sharedData(sharedData ? sharedData : ClipboardBrowserSharedPtr(new ClipboardBrowserShared)) , m_loadButton(NULL) , m_searchProgress(NULL) , m_dragTargetRow(-1) , m_dragStartPosition() , m_spinLock(0) , m_scrollSaver() { setLayoutMode(QListView::Batched); setBatchSize(1); setFrameShape(QFrame::NoFrame); setTabKeyNavigation(false); setSelectionMode(QAbstractItemView::ExtendedSelection); setWrapping(false); setLayoutMode(QListView::SinglePass); setEditTriggers(QAbstractItemView::NoEditTriggers); setAlternatingRowColors(true); initSingleShotTimer( &m_timerSave, 30000, this, SLOT(saveItems()) ); initSingleShotTimer( &m_timerScroll, 50 ); initSingleShotTimer( &m_timerUpdate, 10, this, SLOT(doUpdateCurrentPage()) ); initSingleShotTimer( &m_timerFilter, 10, this, SLOT(filterItems()) ); initSingleShotTimer( &m_timerExpire, 0, this, SLOT(expire()) ); // ScrollPerItem doesn't work well with hidden items setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); connect( verticalScrollBar(), SIGNAL(valueChanged(int)), SLOT(updateCurrentPage()) ); setAttribute(Qt::WA_MacShowFocusRect, 0); setAcceptDrops(true); connectModelAndDelegate(); }
SelectionListWidget::SelectionListWidget(QWidget *parent) : QListWidget(parent) { setAccessibleName(tr("Selection filter")); setAccessibleDescription(tr("Use Tab and Backtab to move through the check boxes")); setFrameShape(QFrame::NoFrame); setSelectionMode(QAbstractItemView::SingleSelection); setFocusPolicy(Qt::TabFocus); setTabKeyNavigation(true); for (int row = 0; row < numLabels; row++) { QListWidgetItem *listItem = new QListWidgetItem(qApp->translate("selectionfilter", labels[row]),this); listItem->setData(Qt::UserRole, QVariant(1 << row)); listItem->setData(Qt::AccessibleTextRole, qApp->translate("selectionfilter", labels[row])); listItem->setCheckState(Qt::Unchecked); addItem(listItem); } }
KWQTableView::KWQTableView(QUndoStack *undoStack, QWidget *parent) : QTableView(parent) , m_undoStack(undoStack) { m_model = 0; setSelectionMode(QAbstractItemView::ContiguousSelection); setSelectionBehavior(QAbstractItemView::SelectItems); setEditTriggers(QAbstractItemView::AnyKeyPressed | QAbstractItemView::EditKeyPressed | QAbstractItemView::DoubleClicked); setTabKeyNavigation(true); connect(horizontalHeader(), &QHeaderView::sectionResized, this, &KWQTableView::horizontalHeaderResized); connect(horizontalHeader(), &QHeaderView::sectionClicked, this, &KWQTableView::slotHeaderClicked); m_delegate = new KWQTableDelegate(this); setItemDelegate(m_delegate); setSortingEnabled(true); horizontalHeader()->setSortIndicatorShown(false); setWordWrap(true); }
WLibraryTableView::WLibraryTableView(QWidget* parent, ConfigObject<ConfigValue>* pConfig, ConfigKey vScrollBarPosKey) : QTableView(parent), m_pConfig(pConfig), m_vScrollBarPosKey(vScrollBarPosKey) { // Setup properties for table // Editing starts when clicking on an already selected item. setEditTriggers(QAbstractItemView::SelectedClicked); //Enable selection by rows and extended selection (ctrl/shift click) setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::ExtendedSelection); setWordWrap(false); setShowGrid(false); setCornerButtonEnabled(false); setSortingEnabled(true); // Used by delegates (e.g. StarDelegate) to tell when the mouse enters a // cell. setMouseTracking(true); //Work around a Qt bug that lets you make your columns so wide you //can't reach the divider to make them small again. setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); verticalHeader()->hide(); int rowHeight = m_pConfig->getValueString(ConfigKey("[Library]","RowHeight"), "20").toInt(); verticalHeader()->setDefaultSectionSize(rowHeight); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setAlternatingRowColors(true); loadVScrollBarPosState(); connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SIGNAL(scrollValueChanged(int))); setTabKeyNavigation(false); }
int QAbstractItemView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractScrollArea::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: pressed((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 1: clicked((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 2: doubleClicked((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 3: activated((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 4: entered((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 5: viewportEntered(); break; case 6: reset(); break; case 7: setRootIndex((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 8: doItemsLayout(); break; case 9: selectAll(); break; case 10: edit((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 11: clearSelection(); break; case 12: setCurrentIndex((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 13: scrollToTop(); break; case 14: scrollToBottom(); break; case 15: update((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 16: dataChanged((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< const QModelIndex(*)>(_a[2]))); break; case 17: rowsInserted((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 18: rowsAboutToBeRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 19: selectionChanged((*reinterpret_cast< const QItemSelection(*)>(_a[1])),(*reinterpret_cast< const QItemSelection(*)>(_a[2]))); break; case 20: currentChanged((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< const QModelIndex(*)>(_a[2]))); break; case 21: updateEditorData(); break; case 22: updateEditorGeometries(); break; case 23: updateGeometries(); break; case 24: verticalScrollbarAction((*reinterpret_cast< int(*)>(_a[1]))); break; case 25: horizontalScrollbarAction((*reinterpret_cast< int(*)>(_a[1]))); break; case 26: verticalScrollbarValueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 27: horizontalScrollbarValueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 28: closeEditor((*reinterpret_cast< QWidget*(*)>(_a[1])),(*reinterpret_cast< QAbstractItemDelegate::EndEditHint(*)>(_a[2]))); break; case 29: commitData((*reinterpret_cast< QWidget*(*)>(_a[1]))); break; case 30: editorDestroyed((*reinterpret_cast< QObject*(*)>(_a[1]))); break; case 31: d_func()->_q_columnsAboutToBeRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 32: d_func()->_q_columnsRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 33: d_func()->_q_rowsRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 34: d_func()->_q_modelDestroyed(); break; case 35: d_func()->_q_layoutChanged(); break; case 36: d_func()->_q_fetchMore(); break; } _id -= 37; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = hasAutoScroll(); break; case 1: *reinterpret_cast< int*>(_v) = autoScrollMargin(); break; case 2: *reinterpret_cast<int*>(_v) = QFlag(editTriggers()); break; case 3: *reinterpret_cast< bool*>(_v) = tabKeyNavigation(); break; case 4: *reinterpret_cast< bool*>(_v) = showDropIndicator(); break; case 5: *reinterpret_cast< bool*>(_v) = dragEnabled(); break; case 6: *reinterpret_cast< bool*>(_v) = dragDropOverwriteMode(); break; case 7: *reinterpret_cast< DragDropMode*>(_v) = dragDropMode(); break; case 8: *reinterpret_cast< bool*>(_v) = alternatingRowColors(); break; case 9: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 10: *reinterpret_cast< SelectionBehavior*>(_v) = selectionBehavior(); break; case 11: *reinterpret_cast< QSize*>(_v) = iconSize(); break; case 12: *reinterpret_cast< Qt::TextElideMode*>(_v) = textElideMode(); break; case 13: *reinterpret_cast< ScrollMode*>(_v) = verticalScrollMode(); break; case 14: *reinterpret_cast< ScrollMode*>(_v) = horizontalScrollMode(); break; } _id -= 15; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setAutoScroll(*reinterpret_cast< bool*>(_v)); break; case 1: setAutoScrollMargin(*reinterpret_cast< int*>(_v)); break; case 2: setEditTriggers(QFlag(*reinterpret_cast<int*>(_v))); break; case 3: setTabKeyNavigation(*reinterpret_cast< bool*>(_v)); break; case 4: setDropIndicatorShown(*reinterpret_cast< bool*>(_v)); break; case 5: setDragEnabled(*reinterpret_cast< bool*>(_v)); break; case 6: setDragDropOverwriteMode(*reinterpret_cast< bool*>(_v)); break; case 7: setDragDropMode(*reinterpret_cast< DragDropMode*>(_v)); break; case 8: setAlternatingRowColors(*reinterpret_cast< bool*>(_v)); break; case 9: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 10: setSelectionBehavior(*reinterpret_cast< SelectionBehavior*>(_v)); break; case 11: setIconSize(*reinterpret_cast< QSize*>(_v)); break; case 12: setTextElideMode(*reinterpret_cast< Qt::TextElideMode*>(_v)); break; case 13: setVerticalScrollMode(*reinterpret_cast< ScrollMode*>(_v)); break; case 14: setHorizontalScrollMode(*reinterpret_cast< ScrollMode*>(_v)); break; } _id -= 15; } else if (_c == QMetaObject::ResetProperty) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 15; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 15; } #endif // QT_NO_PROPERTIES return _id; }
int QAbstractItemView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractScrollArea::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 39) qt_static_metacall(this, _c, _id, _a); _id -= 39; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = hasAutoScroll(); break; case 1: *reinterpret_cast< int*>(_v) = autoScrollMargin(); break; case 2: *reinterpret_cast<int*>(_v) = QFlag(editTriggers()); break; case 3: *reinterpret_cast< bool*>(_v) = tabKeyNavigation(); break; case 4: *reinterpret_cast< bool*>(_v) = showDropIndicator(); break; case 5: *reinterpret_cast< bool*>(_v) = dragEnabled(); break; case 6: *reinterpret_cast< bool*>(_v) = dragDropOverwriteMode(); break; case 7: *reinterpret_cast< DragDropMode*>(_v) = dragDropMode(); break; case 8: *reinterpret_cast< Qt::DropAction*>(_v) = defaultDropAction(); break; case 9: *reinterpret_cast< bool*>(_v) = alternatingRowColors(); break; case 10: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 11: *reinterpret_cast< SelectionBehavior*>(_v) = selectionBehavior(); break; case 12: *reinterpret_cast< QSize*>(_v) = iconSize(); break; case 13: *reinterpret_cast< Qt::TextElideMode*>(_v) = textElideMode(); break; case 14: *reinterpret_cast< ScrollMode*>(_v) = verticalScrollMode(); break; case 15: *reinterpret_cast< ScrollMode*>(_v) = horizontalScrollMode(); break; } _id -= 16; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setAutoScroll(*reinterpret_cast< bool*>(_v)); break; case 1: setAutoScrollMargin(*reinterpret_cast< int*>(_v)); break; case 2: setEditTriggers(QFlag(*reinterpret_cast<int*>(_v))); break; case 3: setTabKeyNavigation(*reinterpret_cast< bool*>(_v)); break; case 4: setDropIndicatorShown(*reinterpret_cast< bool*>(_v)); break; case 5: setDragEnabled(*reinterpret_cast< bool*>(_v)); break; case 6: setDragDropOverwriteMode(*reinterpret_cast< bool*>(_v)); break; case 7: setDragDropMode(*reinterpret_cast< DragDropMode*>(_v)); break; case 8: setDefaultDropAction(*reinterpret_cast< Qt::DropAction*>(_v)); break; case 9: setAlternatingRowColors(*reinterpret_cast< bool*>(_v)); break; case 10: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 11: setSelectionBehavior(*reinterpret_cast< SelectionBehavior*>(_v)); break; case 12: setIconSize(*reinterpret_cast< QSize*>(_v)); break; case 13: setTextElideMode(*reinterpret_cast< Qt::TextElideMode*>(_v)); break; case 14: setVerticalScrollMode(*reinterpret_cast< ScrollMode*>(_v)); break; case 15: setHorizontalScrollMode(*reinterpret_cast< ScrollMode*>(_v)); break; } _id -= 16; } else if (_c == QMetaObject::ResetProperty) { _id -= 16; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 16; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 16; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 16; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 16; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 16; } #endif // QT_NO_PROPERTIES return _id; }
ClipboardBrowser::ClipboardBrowser(QWidget *parent, const ClipboardBrowserSharedPtr &sharedData) : QListView(parent) , m_loaded(false) , m_id() , m_lastFilter() , m_update(false) , m( new ClipboardModel(this) ) , d( new ItemDelegate(viewport()) ) , m_timerSave( new QTimer(this) ) , m_timerScroll( new QTimer(this) ) , m_menu( new QMenu(this) ) , m_sharedData(sharedData ? sharedData : ClipboardBrowserSharedPtr(new ClipboardBrowserShared)) { setLayoutMode(QListView::Batched); setBatchSize(1); setFrameShadow(QFrame::Sunken); setTabKeyNavigation(false); setAlternatingRowColors(true); setSelectionMode(QAbstractItemView::ExtendedSelection); setWrapping(false); setLayoutMode(QListView::SinglePass); setEditTriggers(QAbstractItemView::EditKeyPressed); setSpacing(5); m_timerSave->setSingleShot(true); connect( m_timerSave, SIGNAL(timeout()), this, SLOT(saveItems()) ); m_timerScroll->setSingleShot(true); m_timerScroll->setInterval(50); // delegate for rendering and editing items setItemDelegate(d); // set new model QItemSelectionModel *old_model = selectionModel(); setModel(m); delete old_model; connect( d, SIGNAL(editingActive(bool)), SIGNAL(editingActive(bool)) ); connect( m, SIGNAL(rowsRemoved(QModelIndex,int,int)), d, SLOT(rowsRemoved(QModelIndex,int,int)) ); connect( m, SIGNAL(rowsInserted(QModelIndex, int, int)), d, SLOT(rowsInserted(QModelIndex, int, int)) ); connect( m, SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)), d, SLOT(rowsMoved(QModelIndex, int, int, QModelIndex, int)) ); // save if data in model changed connect( m, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(onDataChanged(QModelIndex,QModelIndex)) ); connect( m, SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(delayedSaveItems()) ); connect( m, SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(delayedSaveItems()) ); connect( m, SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)), SLOT(delayedSaveItems()) ); // update on change connect( d, SIGNAL(rowSizeChanged(int)), SLOT(onRowSizeChanged(int)) ); connect( m, SIGNAL(rowsRemoved(QModelIndex,int,int)), SLOT(updateCurrentPage()) ); connect( m, SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(updateCurrentPage()) ); connect( m, SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)), SLOT(updateCurrentPage()) ); connect( verticalScrollBar(), SIGNAL(valueChanged(int)), SLOT(updateCurrentPage()) ); connect( verticalScrollBar(), SIGNAL(rangeChanged(int,int)), SLOT(updateCurrentPage()), Qt::QueuedConnection ); // ScrollPerItem doesn't work well with hidden items setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); setAttribute(Qt::WA_MacShowFocusRect, 0); }