diff --git a/launcher/ui/dialogs/IconPickerDialog.cpp b/launcher/ui/dialogs/IconPickerDialog.cpp index be7292661..2e021aaa7 100644 --- a/launcher/ui/dialogs/IconPickerDialog.cpp +++ b/launcher/ui/dialogs/IconPickerDialog.cpp @@ -22,12 +22,14 @@ #include "IconPickerDialog.h" #include "ui_IconPickerDialog.h" +#include "ui/instanceview/InstanceDelegate.h" + #include "icons/IconList.h" #include "icons/IconUtils.h" #include -IconPickerDialog::IconPickerDialog(QWidget *parent) - : QDialog(parent), ui(new Ui::IconPickerDialog) +IconPickerDialog::IconPickerDialog(QWidget *parent, int iconSize) + : QDialog(parent), ui(new Ui::IconPickerDialog), m_iconSize(iconSize) { ui->setupUi(this); setWindowModality(Qt::WindowModal); @@ -39,14 +41,17 @@ IconPickerDialog::IconPickerDialog(QWidget *parent) contentsWidget->setMovement(QListView::Static); contentsWidget->setResizeMode(QListView::Adjust); contentsWidget->setSelectionMode(QAbstractItemView::SingleSelection); - contentsWidget->setSpacing(5); - contentsWidget->setWordWrap(false); + contentsWidget->setSelectionBehavior(QAbstractItemView::SelectRows); + contentsWidget->setWordWrap(true); contentsWidget->setWrapping(true); contentsWidget->setUniformItemSizes(true); contentsWidget->setTextElideMode(Qt::ElideRight); contentsWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); contentsWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); - contentsWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + contentsWidget->setFrameStyle(QFrame::NoFrame); + contentsWidget->setGridSize(QSize(m_iconSize * 2, m_iconSize * 2)); + contentsWidget->setItemDelegate(new InstanceDelegate(this, m_iconSize, true)); + contentsWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // contentsWidget->setAcceptDrops(true); contentsWidget->setDropIndicatorShown(true); diff --git a/launcher/ui/dialogs/IconPickerDialog.h b/launcher/ui/dialogs/IconPickerDialog.h index 9af6a6789..ba06a01fe 100644 --- a/launcher/ui/dialogs/IconPickerDialog.h +++ b/launcher/ui/dialogs/IconPickerDialog.h @@ -27,7 +27,7 @@ class IconPickerDialog : public QDialog Q_OBJECT public: - explicit IconPickerDialog(QWidget *parent = 0); + explicit IconPickerDialog(QWidget *parent = 0, int iconSize = 48); ~IconPickerDialog(); int execWithSelection(QString selection); QString selectedIconKey; @@ -37,6 +37,7 @@ protected: private: Ui::IconPickerDialog *ui; + int m_iconSize; private slots: