feat: set custom icon

feat: tray icon status point
This commit is contained in:
arm64v8a
2022-09-09 08:00:00 +08:00
parent b0157cee4a
commit 31079f20fd
9 changed files with 198 additions and 65 deletions

View File

@@ -9,6 +9,7 @@
#include <QStyleFactory>
#include <QFileDialog>
#include <QInputDialog>
#include <QMessageBox>
class ExtraCoreWidget : public QWidget {
public:
@@ -223,3 +224,26 @@ void DialogBasicSettings::accept() {
dialog_message(Dialog_DialogBasicSettings, "UpdateDataStore");
QDialog::accept();
}
void DialogBasicSettings::on_set_custom_icon_clicked() {
auto title = ui->set_custom_icon->text();
auto c = QMessageBox::question(this, title, tr("Please select a PNG file."),
tr("Select"), tr("Reset"), tr("Cancel"), 2, 2);
if (c == 0) {
auto fn = QFileDialog::getOpenFileName(this, QObject::tr("Select"), QDir::currentPath(),
"*.png", nullptr, QFileDialog::Option::ReadOnly);
if (!fn.isEmpty()) {
QImage img(fn);
if (img.isNull() || img.height() != img.width()) {
MessageBoxWarning(title, tr("Please select a valid square image."));
return;
}
QFile::copy(fn, "./nekoray.png");
}
} else if (c == 1) {
QFile::remove("./nekoray.png");
} else {
return;
}
dialog_message(Dialog_DialogBasicSettings, "UpdateIcon");
}