Update output TexSlot when pack is finished
This commit is contained in:
parent
6a8255f67a
commit
0bd8421332
10
Main.qml
10
Main.qml
|
@ -54,7 +54,11 @@ ApplicationWindow {
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
text: qsTr("Craft!")
|
text: qsTr("Craft!")
|
||||||
|
|
||||||
onClicked: crafter.packChannels([texSlotR.filePath, texSlotG.filePath, texSlotB.filePath])
|
onClicked: {
|
||||||
|
var outUrl = crafter.packChannels([texSlotR.filePath, texSlotG.filePath, texSlotB.filePath]);
|
||||||
|
|
||||||
|
outSlot.filePath = outUrl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,9 +68,9 @@ ApplicationWindow {
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
|
||||||
TexSlot {
|
TexSlot {
|
||||||
|
id: outSlot
|
||||||
|
|
||||||
|
rectColor: "gray"
|
||||||
rectColor: "green"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,8 @@ DropArea {
|
||||||
|
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
source: filePath
|
||||||
|
|
||||||
width: 96
|
width: 96
|
||||||
height: 96
|
height: 96
|
||||||
|
|
||||||
|
@ -69,12 +71,15 @@ DropArea {
|
||||||
console.log(drop.urls);
|
console.log(drop.urls);
|
||||||
|
|
||||||
filePath = drop.urls[0];
|
filePath = drop.urls[0];
|
||||||
huh.text = drop.urls[0];
|
|
||||||
image.source = drop.urls[0];
|
|
||||||
}
|
}
|
||||||
rectangle.color = rectColor;
|
rectangle.color = rectColor;
|
||||||
}
|
}
|
||||||
onExited: {
|
onExited: {
|
||||||
rectangle.color = rectColor;
|
rectangle.color = rectColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onFilePathChanged: {
|
||||||
|
huh.text = filePath;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ TextureCrafter::TextureCrafter(QObject *parent)
|
||||||
: QObject{parent}
|
: QObject{parent}
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void TextureCrafter::packChannels(QVector<QUrl> imagePaths) {
|
QUrl TextureCrafter::packChannels(QVector<QUrl> imagePaths) {
|
||||||
|
|
||||||
QVector<QImage> sourceImages;
|
QVector<QImage> sourceImages;
|
||||||
int width = 0, height = 0;
|
int width = 0, height = 0;
|
||||||
|
@ -55,6 +55,7 @@ void TextureCrafter::packChannels(QVector<QUrl> imagePaths) {
|
||||||
//TODO: use libpng and do progressive write to update the progress bar
|
//TODO: use libpng and do progressive write to update the progress bar
|
||||||
if (outImage.save(outFileName)) {
|
if (outImage.save(outFileName)) {
|
||||||
printf("cool ^-^\n");
|
printf("cool ^-^\n");
|
||||||
|
return QUrl::fromLocalFile(outFileName);
|
||||||
} else {
|
} else {
|
||||||
//TODO: return some error value to show the user
|
//TODO: return some error value to show the user
|
||||||
printf("that dream is fucked it is fucking fucked\n");
|
printf("that dream is fucked it is fucking fucked\n");
|
||||||
|
@ -63,5 +64,6 @@ void TextureCrafter::packChannels(QVector<QUrl> imagePaths) {
|
||||||
printf("chat its so over\n");
|
printf("chat its so over\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return QUrl();
|
||||||
//do we need to close these??? idk lets hope qt handles it
|
//do we need to close these??? idk lets hope qt handles it
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ class TextureCrafter : public QObject
|
||||||
public:
|
public:
|
||||||
explicit TextureCrafter(QObject *parent = nullptr);
|
explicit TextureCrafter(QObject *parent = nullptr);
|
||||||
|
|
||||||
Q_INVOKABLE void packChannels(QVector<QUrl> images);
|
Q_INVOKABLE QUrl packChannels(QVector<QUrl> images);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue