ui: double click in project setup list box to add new item
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
#include "QtListBox.h"
|
||||
|
||||
#include <QBoxLayout>
|
||||
#include <QListWidget>
|
||||
#include <QLabel>
|
||||
#include <QListWidget>
|
||||
#include <QScrollBar>
|
||||
|
||||
#include "QtIconButton.h"
|
||||
#include "QtStringListBoxItem.h"
|
||||
#include "utilityQt.h"
|
||||
#include "QtTextEditDialog.h"
|
||||
#include "ResourcePaths.h"
|
||||
#include "utilityQt.h"
|
||||
#include "utilityString.h"
|
||||
|
||||
QtListBox::QtListBox(QWidget *parent, const QString& listName)
|
||||
@@ -22,9 +20,10 @@ QtListBox::QtListBox(QWidget *parent, const QString& listName)
|
||||
layout->setContentsMargins(0, 6, 0, 0);
|
||||
layout->setAlignment(Qt::AlignTop);
|
||||
|
||||
m_list = new QListWidget(this);
|
||||
m_list = new QtListWidget(this);
|
||||
m_list->setObjectName("list");
|
||||
m_list->setAttribute(Qt::WA_MacShowFocusRect, 0);
|
||||
connect(m_list, &QListWidget::doubleClicked, this, &QtListBox::doubleClicked);
|
||||
|
||||
setStyleSheet(utility::getStyleSheet(ResourcePaths::getGuiPath().concatenate(L"window/listbox.css")).c_str());
|
||||
layout->addWidget(m_list, 5);
|
||||
@@ -244,3 +243,11 @@ void QtListBox::savedEditDialog()
|
||||
|
||||
canceledEditDialog();
|
||||
}
|
||||
|
||||
void QtListBox::doubleClicked(const QModelIndex& index)
|
||||
{
|
||||
if (!index.isValid())
|
||||
{
|
||||
addListBoxItem();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,18 +2,37 @@
|
||||
#define QT_LIST_BOX_H
|
||||
|
||||
#include <QFrame>
|
||||
#include <QListWidget>
|
||||
|
||||
#include "FilePath.h"
|
||||
|
||||
class QEvent;
|
||||
class QHBoxLayout;
|
||||
class QListWidget;
|
||||
class QListWidgetItem;
|
||||
class QPushButton;
|
||||
|
||||
class QtTextEditDialog;
|
||||
class QtListBoxItem;
|
||||
|
||||
class QtListWidget
|
||||
: public QListWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtListWidget(QWidget* parent = nullptr)
|
||||
: QListWidget(parent)
|
||||
{
|
||||
}
|
||||
|
||||
protected:
|
||||
void mouseDoubleClickEvent(QMouseEvent* event) override
|
||||
{
|
||||
QModelIndex index;
|
||||
emit doubleClicked(index);
|
||||
}
|
||||
};
|
||||
|
||||
class QtListBox
|
||||
: public QFrame
|
||||
{
|
||||
@@ -33,7 +52,7 @@ protected:
|
||||
void addWidgetToBar(QWidget* widget);
|
||||
bool event(QEvent* event) override;
|
||||
|
||||
QListWidget* m_list;
|
||||
QtListWidget* m_list;
|
||||
|
||||
protected slots:
|
||||
QtListBoxItem* addListBoxItem();
|
||||
@@ -43,6 +62,9 @@ protected slots:
|
||||
void canceledEditDialog();
|
||||
void savedEditDialog();
|
||||
|
||||
private slots:
|
||||
void doubleClicked(const QModelIndex& index);
|
||||
|
||||
private:
|
||||
virtual QtListBoxItem* createListBoxItem(QListWidgetItem* item) = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user