Merge branch 'deltecent-rdlibrary-select'

This commit is contained in:
Fred Gleason 2019-02-19 15:36:59 -05:00
commit b58f6410d7
4 changed files with 20 additions and 1 deletions

View File

@ -18493,3 +18493,6 @@
2019-02-19 Patrick Linstruth <patrick@deltecent.com>
* Fixed a bug in rdlibrary(1) where double-clicking outside of
the list would cause a segfault.
2019-02-19 Patrick Linstruth <patrick@deltecent.com>
* Add non-contiguous cart selections in RDListView class.
* Allow non-contiguous cart selections in rdlibrary(1).

View File

@ -19,6 +19,7 @@
//
//
#include <stdio.h>
#include <vector>
#include <rdlistview.h>
@ -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;
}

View File

@ -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<RDListView::SortType> sort_type;
};

View File

@ -320,6 +320,7 @@ MainWidget::MainWidget(QWidget *parent)
lib_cart_list->setSelectionMode(Q3ListView::Extended);
lib_cart_list->setRootIsDecorated(true);
lib_cart_list->enableNoteBubbles(true);
lib_cart_list->setContiguous(false);
connect(lib_cart_list,
SIGNAL(doubleClicked(Q3ListViewItem *,const QPoint &,int)),
this,