23 #include "commongui.h" 25 #include <QInputDialog> 27 #include <QStandardItemModel> 28 #include <QTableWidget> 29 #include <QStringList> 32 bool* ok,
const QString& defaultString)
34 return QInputDialog::getText(NULL, title,label, QLineEdit::Normal,
41 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
43 for (
int i = 0; i < model->rowCount(); ++i)
45 list << (model->item(i)->checkState() == Qt::Checked);
54 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
56 for (
int i = 0; i < model->rowCount(); ++i)
58 list << model->item(i)->text();
64 void CommonGUI::removeSelectedRowsFromQTableWidget(QTableWidget* table)
69 QMap<int, QTableWidgetItem*> uniqueRowsItems;
70 foreach (QTableWidgetItem* item, table->selectedItems())
72 uniqueRowsItems.insert(item->row(), item);
74 foreach (QTableWidgetItem* item, uniqueRowsItems.values())
76 int row = table->row(item);
79 table->removeRow(row);
87 QItemSelectionModel* selModel = view->selectionModel();
88 QModelIndexList indexList = selModel->selectedIndexes();
91 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(view->model());
92 QList<QStandardItem*> itemList;
93 int lowestRemovedRow = 0;
94 for (
int i = 0; i < indexList.count(); ++i)
96 const QModelIndex& index = indexList[i];
97 itemList << model->itemFromIndex(index);
98 if (index.row() > lowestRemovedRow)
100 lowestRemovedRow = index.row();
104 for (
int i = 0; i < itemList.count(); ++i)
106 QModelIndex index = model->indexFromItem(itemList[i]);
107 model->removeRow(index.row());
110 if (bSelectNextItem && !indexList.isEmpty())
112 int selectRowIdx = lowestRemovedRow;
113 selectRowIdx -= indexList.size();
115 if (selectRowIdx + 1 < model->rowCount())
120 if (selectRowIdx >= 0)
122 QModelIndex newIdx = model->index(selectRowIdx, 0);
123 selModel->select(newIdx, QItemSelectionModel::ClearAndSelect);
130 #if QT_VERSION >= 0x050000 131 box->setCurrentText(text);
133 if (box->isEditable())
135 box->setEditText(text);
139 for (
int i = 0; i < box->count(); ++i)
141 if (box->itemText(i) == text)
143 box->setCurrentIndex(i);
152 const QStringList& stringList)
154 QStandardItemModel* model =
static_cast<QStandardItemModel*
>(
155 targetListview->model());
156 model->removeRows(0, model->rowCount());
158 foreach (
const QString& str, stringList)
160 QStandardItem* pItem =
new QStandardItem();
162 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 void setCurrentText(QComboBox *box, const QString &text)
Qt4 compliant implementation of Qt5's QComboBox::setCurrentText().
static QString askString(const QString &title, const QString &label, bool *ok=NULL, const QString &defaultString="")
Calls QInputDialog::getText().