23 #include "commongui.h"
24 #include <QInputDialog>
26 #include <QStandardItemModel>
27 #include <QTableWidget>
28 #include <QStringList>
31 bool* ok,
const QString& defaultString)
33 return QInputDialog::getText(NULL, title,label, QLineEdit::Normal,
40 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
42 for (
int i = 0; i < model->rowCount(); ++i)
44 list << (model->item(i)->checkState() == Qt::Checked);
53 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
55 for (
int i = 0; i < model->rowCount(); ++i)
57 list << model->item(i)->text();
63 void CommonGUI::removeSelectedRowsFromQTableWidget(QTableWidget* table)
68 QMap<int, QTableWidgetItem*> uniqueRowsItems;
69 foreach (QTableWidgetItem* item, table->selectedItems())
71 uniqueRowsItems.insert(item->row(), item);
73 foreach (QTableWidgetItem* item, uniqueRowsItems.values())
75 int row = table->row(item);
78 table->removeRow(row);
86 QItemSelectionModel* selModel = view->selectionModel();
87 QModelIndexList indexList = selModel->selectedIndexes();
90 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(view->model());
91 QList<QStandardItem*> itemList;
92 int lowestRemovedRow = 0;
93 for (
int i = 0; i < indexList.count(); ++i)
95 const QModelIndex& index = indexList[i];
96 itemList << model->itemFromIndex(index);
97 if (index.row() > lowestRemovedRow)
99 lowestRemovedRow = index.row();
103 for (
int i = 0; i < itemList.count(); ++i)
105 QModelIndex index = model->indexFromItem(itemList[i]);
106 model->removeRow(index.row());
109 if (bSelectNextItem && !indexList.isEmpty())
111 int selectRowIdx = lowestRemovedRow;
112 selectRowIdx -= indexList.size();
114 if (selectRowIdx + 1 < model->rowCount())
119 if (selectRowIdx >= 0)
121 QModelIndex newIdx = model->index(selectRowIdx, 0);
122 selModel->select(newIdx, QItemSelectionModel::ClearAndSelect);
128 const QStringList& stringList)
130 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
131 targetListview->model());
132 model->removeRows(0, model->rowCount());
134 foreach (
const QString& str, stringList)
136 QStandardItem* pItem =
new QStandardItem();
138 model->appendRow(pItem);
static QStringList listViewStandardItemsToStringList(QListView *listview)
Reads items from a QListView that uses QStandardItemModel and puts texts of these items into a list o...
static void stringListToStandardItemsListView(QListView *targetListview, const QStringList &stringList)
Puts a list of strings into a QListView that uses QStandardItemModel.
static void removeSelectedRowsFromStandardItemView(QAbstractItemView *view, bool bSelectNextItem=false)
Removes all selected rows from a QAbstractItemView.
static QList< bool > listViewStandardItemsToBoolList(QListView *listview)
static QString askString(const QString &title, const QString &label, bool *ok=NULL, const QString &defaultString="")
Calls QInputDialog::getText().