Skip to content

Commit

Permalink
about window
Browse files Browse the repository at this point in the history
xland committed Dec 31, 2024
1 parent 7280447 commit c2eced3
Showing 6 changed files with 59 additions and 2 deletions.
23 changes: 23 additions & 0 deletions App/About.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "About.h"

About::About(QWidget* parent):QWidget(parent)
{
setAttribute(Qt::WA_QuitOnClose, false);
QTextEdit* textEdit = new QTextEdit(this);
QString htmlText = R"(<html><head><style>
body { font-family: Arial; font-size: 16px; color: #333;text-align:center;}
h1 { color: #007BFF;line-height: 2.0; }
p { line-height: 1.5; }
</style></head><body>
<h1>ScreenCapture</h1>
<p><a href="https://github.com/xland/ScreenCapture">https://github.com/xland/ScreenCapture</a></p>
</body></html>)";
textEdit->setHtml(htmlText);
textEdit->setReadOnly(true);
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(textEdit);
layout->setContentsMargins(12, 12, 12, 12);
setLayout(layout);
setFixedSize(500, 160);
show();
}
12 changes: 12 additions & 0 deletions App/About.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#pragma once

#include <QWidget>
#include <QTextEdit>
#include <QVBoxLayout>

class About : public QWidget {

Q_OBJECT
public:
About(QWidget* parent = nullptr);
};
Binary file modified App/Res.rc
Binary file not shown.
18 changes: 16 additions & 2 deletions App/Tray.cpp
Original file line number Diff line number Diff line change
@@ -5,19 +5,24 @@
#include <qjsonarray.h>



#include "Tray.h"
#include "App.h"
#include "About.h"

namespace{
QMenu* menu{nullptr};
About* about{ nullptr };
QIcon* icon{ nullptr };
}


Tray::Tray(const QJsonObject& obj, const QString& lang, QObject *parent) : QObject(parent)
{
auto iconPath = obj["iconPath"].toString();
icon = new QIcon(iconPath);
auto trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(QIcon(iconPath));
trayIcon->setIcon(*icon);
connect(trayIcon, &QSystemTrayIcon::activated, this, &Tray::onTrayActived);
trayIcon->show();

@@ -32,7 +37,14 @@ Tray::Tray(const QJsonObject& obj, const QString& lang, QObject *parent) : QObje
connect(action, SIGNAL(triggered()), qApp, SLOT(quit()));
}
else if (name == "about") {
connect(action, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(action, &QAction::triggered, []() {
if (!about) {
about = new About();
about->setWindowIcon(*icon);
}
about->show();
about->raise();
});
}
connect(action, &QAction::hovered, []() {
QGuiApplication::setOverrideCursor(Qt::ArrowCursor);
@@ -44,7 +56,9 @@ Tray::Tray(const QJsonObject& obj, const QString& lang, QObject *parent) : QObje

Tray::~Tray()
{
delete icon;
delete menu;
delete about;
}

void Tray::onTrayActived(QSystemTrayIcon::ActivationReason reason)
2 changes: 2 additions & 0 deletions ScreenCapture.vcxproj
Original file line number Diff line number Diff line change
@@ -113,6 +113,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="App\About.cpp" />
<ClCompile Include="App\App.cpp" />
<ClCompile Include="App\NativeRect.cpp" />
<ClCompile Include="Shape\ShapeArrow.cpp" />
@@ -151,6 +152,7 @@
<ClCompile Include="Win\WinPin.cpp" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="App\About.h" />
<ClInclude Include="App\App.h" />
<ClInclude Include="App\Util.h" />
<QtMoc Include="Win\WinBox.h" />
6 changes: 6 additions & 0 deletions ScreenCapture.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -131,6 +131,9 @@
<ClCompile Include="App\NativeRect.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="App\About.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="App\App.h">
@@ -249,6 +252,9 @@
<QtMoc Include="Shape\ShapeTextContainer.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="App\About.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<None Include="licence" />

0 comments on commit c2eced3

Please sign in to comment.