From b2603d2376b7c39486e21c0f5ebe9faf62264a0b Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Fri, 15 Feb 2019 17:23:18 -0800 Subject: [PATCH] Add non-contiguous cart selections in RDListView class. --- lib/rdlistview.cpp | 14 +++++++++++++- lib/rdlistview.h | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/rdlistview.cpp b/lib/rdlistview.cpp index ca5e6e0a..2d7164cc 100644 --- a/lib/rdlistview.cpp +++ b/lib/rdlistview.cpp @@ -19,6 +19,7 @@ // // +#include #include #include @@ -27,6 +28,7 @@ RDListView::RDListView(QWidget *parent) : Q3ListView(parent) { + list_contiguous=true; list_hard_sort_column=-1; connect(this, SIGNAL(mouseButtonClicked(int,Q3ListViewItem *,const QPoint &,int)), @@ -34,6 +36,16 @@ RDListView::RDListView(QWidget *parent) SLOT(mouseButtonClickedData(int,Q3ListViewItem *,const QPoint &,int))); } +void RDListView::setContiguous(bool state) { + list_contiguous=state; +} + + +bool RDListView::contiguous() const +{ + return list_contiguous; +} + int RDListView::hardSortColumn() const { @@ -93,7 +105,7 @@ void RDListView::mouseButtonClickedData(int button,Q3ListViewItem *item, Q3ListViewItem *l; bool contiguous; - if((selectionMode()!=Q3ListView::Extended)||(item==NULL)||(button!=1)) { + if((list_contiguous==false)||(selectionMode()!=Q3ListView::Extended)||(item==NULL)||(button!=1)) { return; } diff --git a/lib/rdlistview.h b/lib/rdlistview.h index 0169b91a..c9c4ef91 100644 --- a/lib/rdlistview.h +++ b/lib/rdlistview.h @@ -35,6 +35,8 @@ class RDListView : public Q3ListView RDListView(QWidget *parent); int hardSortColumn() const; void setHardSortColumn(int col); + void setContiguous(bool state); + bool contiguous() const; RDListView::SortType columnSortType(int column) const; void setColumnSortType(int column,SortType type); int addColumn(const QString &label,int width=-1); @@ -47,6 +49,7 @@ class RDListView : public Q3ListView private: int list_hard_sort_column; + bool list_contiguous; std::vector sort_type; };