 |
Geometrize
1.0
An application for geometrizing images into geometric primitives
|
◆ TemplateButtonImpl() [1/2]
geometrize::dialog::TemplateButton::TemplateButtonImpl::TemplateButtonImpl |
( |
TemplateButton * |
pQ, |
|
|
chaiscript::ChaiScript *const |
templateLoader, |
|
|
const QString & |
templateFolder |
|
) |
| |
|
inline |
37 ui(std::make_unique<Ui::TemplateButton>()),
46 q->connect(
q, &TemplateButton::clicked, [
this]() {
53 ui->imageLabel->setPixmap(QPixmap::fromImage(thumbnail));
◆ ~TemplateButtonImpl()
geometrize::dialog::TemplateButton::TemplateButtonImpl::~TemplateButtonImpl |
( |
| ) |
|
|
inline |
◆ TemplateButtonImpl() [2/2]
geometrize::dialog::TemplateButton::TemplateButtonImpl::TemplateButtonImpl |
( |
const TemplateButtonImpl & |
| ) |
|
|
delete |
◆ getTemplateManifest()
TemplateManifest geometrize::dialog::TemplateButton::TemplateButtonImpl::getTemplateManifest |
( |
| ) |
const |
|
inline |
◆ handleDragLeaveEvent()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::handleDragLeaveEvent |
( |
QDragLeaveEvent * |
| ) |
|
|
inline |
◆ handleMouseMoveEvent()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::handleMouseMoveEvent |
( |
QMouseEvent * |
event | ) |
|
|
inline |
105 if(event->buttons() != Qt::LeftButton) {
◆ handleMousePressEvent()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::handleMousePressEvent |
( |
QMouseEvent * |
event | ) |
|
|
inline |
77 QImage thumbnail(imageFilepath);
78 if(thumbnail.isNull()) {
81 const QSize size{180, 180};
82 thumbnail = thumbnail.scaled(size, Qt::KeepAspectRatioByExpanding, Qt::FastTransformation);
84 QMimeData* mimeData =
new QMimeData;
85 mimeData->setUrls({ QUrl::fromUserInput(imageFilepath) });
86 mimeData->setText(tr(
"Drag and drop template contents"));
◆ handleMouseReleaseEvent()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::handleMouseReleaseEvent |
( |
QMouseEvent * |
event | ) |
|
|
inline |
◆ onLanguageChange()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::onLanguageChange |
( |
| ) |
|
|
inline |
175 ui->retranslateUi(
q);
◆ openTemplate()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::openTemplate |
( |
| ) |
|
|
inline |
◆ operator=()
◆ populateUi()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::populateUi |
( |
| ) |
|
|
inlineprivate |
◆ revealTemplateInExplorer()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::revealTemplateInExplorer |
( |
| ) |
|
|
inline |
◆ setButtonToolTipText()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::setButtonToolTipText |
( |
| ) |
|
|
inlineprivate |
187 const QString name{tr(
"Name: %1",
"Text on a label containing the name of an item, usually an image e.g. Name: The Mona Lisa").arg(QString::fromStdString(
m_manifest.
getName()))};
188 const QString license{tr(
"License: %2",
"Text on a label containing the legal license a piece of media is under, usually an image e.g. License: Public Domain").arg(QString::fromStdString(
m_manifest.
getLicense()))};
189 q->setToolTip(name +
"<br>" + license);
◆ setupTemplate()
QImage geometrize::dialog::TemplateButton::TemplateButtonImpl::setupTemplate |
( |
| ) |
|
|
inline |
129 const QImage thumbnail(imageFilepath);
130 if(!thumbnail.isNull()) {
131 const QSize size{180, 180};
132 return thumbnail.scaled(size, Qt::KeepAspectRatioByExpanding, Qt::FastTransformation);
◆ showContextMenu()
void geometrize::dialog::TemplateButton::TemplateButtonImpl::showContextMenu |
( |
QContextMenuEvent * |
e | ) |
|
|
inline |
149 QMenu itemContextMenu;
151 QAction openAction(tr(
"Open",
"Text on a menu item the user presses to open a file/image"));
152 itemContextMenu.addAction(&openAction);
153 connect(&openAction, &QAction::triggered, [
this]() {
158 QAction openInDefaultViewer(tr(
"Reveal in file explorer",
"Text on a menu item the user presses to open an image/piece of media in a file viewer/explorer"));
159 itemContextMenu.addAction(&openInDefaultViewer);
160 connect(&openInDefaultViewer, &QAction::triggered, [
this]() {
165 itemContextMenu.exec(e->globalPos());
◆ m_currentDragAction
QDrag* geometrize::dialog::TemplateButton::TemplateButtonImpl::m_currentDragAction { nullptr } |
|
private |
◆ m_manifest
TemplateManifest geometrize::dialog::TemplateButton::TemplateButtonImpl::m_manifest |
|
private |
◆ m_templateFolder
const QString geometrize::dialog::TemplateButton::TemplateButtonImpl::m_templateFolder |
|
private |
◆ m_templateFuture
QFuture<QImage> geometrize::dialog::TemplateButton::TemplateButtonImpl::m_templateFuture |
|
private |
◆ m_templateLoader
chaiscript::ChaiScript* const geometrize::dialog::TemplateButton::TemplateButtonImpl::m_templateLoader |
|
private |
◆ m_templateLoaderWatcher
QFutureWatcher<QImage> geometrize::dialog::TemplateButton::TemplateButtonImpl::m_templateLoaderWatcher |
|
private |
TemplateButton* geometrize::dialog::TemplateButton::TemplateButtonImpl::q |
|
private |
◆ ui
std::unique_ptr<Ui::TemplateButton> geometrize::dialog::TemplateButton::TemplateButtonImpl::ui |
|
private |
The documentation for this class was generated from the following file:
bool openTemplate(chaiscript::ChaiScript &engine, const std::string &templateFolder)
Definition: taskutil.cpp:65
TemplateManifest getTemplateManifest(const std::string &templateFolder)
Definition: taskutil.cpp:98
std::string getFirstFileWithExtensions(const std::string &dirPath, const std::vector< std::string > &extensions)
getFirstFileWithExtensions Gets the absolute file path to the first file with one of the given extens...
Definition: util.cpp:224
std::string getName() const
Definition: templatemanifest.cpp:53
std::string getLicense() const
Definition: templatemanifest.cpp:68
bool openInDefaultApplication(const std::string &path)
openInDefaultApplication Opens the given path in the default application.
Definition: util.cpp:278