Skip to content

Commit 7bc129f

Browse files
添加文件列表
1 parent 40fd9ce commit 7bc129f

File tree

9 files changed

+194
-204
lines changed

9 files changed

+194
-204
lines changed

core/screen_shot.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ void ScreenShot::rasie() {
2323
}
2424

2525
void ScreenShot::CaptureScreen(QWidget *parent) {
26+
SPD_FUNCTION();
2627

2728
}
2829

core/screen_shot.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class ScreenShot : public QObject {
2626
void rasie();
2727

2828
private:
29-
//QList<Widget*>* m_widgets;
30-
//QList<Widget*>* m_unused_widgets;
29+
QList<Widget*>* m_widgets;
30+
QList<Widget*>* m_unused_widgets;
3131

3232
signals:
3333
void ShotDone(ScreenShot*);

core/screen_widget.cpp

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55

66
#include "screen_widget.h"
7+
#include "utils/spdlog_wrapper.h"
8+
#include "uti"
9+
10+
#define UNVISIABLE_X -819200
11+
#define UNVISIABLE_Y -819200
712

813
ScreenWidgets::ScreenWidgets(QWidget *parent) : QWidget(parent) {
914

@@ -12,3 +17,140 @@ ScreenWidgets::ScreenWidgets(QWidget *parent) : QWidget(parent) {
1217
ScreenWidgets::~ScreenWidgets() {
1318

1419
}
20+
21+
22+
ScreenWidgets::ScreenWidgets(QWidget* parent)
23+
: QWidget(parent)
24+
, m_screenlist(nullptr)
25+
, m_status("unknown")
26+
{
27+
#ifndef USE_SPDLOG_
28+
setWindowFlags(Qt::Tool);
29+
setAttribute(Qt::WA_TranslucentBackground);
30+
#endif // USE_SPDLOG_
31+
}
32+
33+
34+
void ScreenWidgets::start(std::shared_ptr<ScreenList> list, int index)
35+
{
36+
SPD_FUNCTION();
37+
38+
QRect geometry = list->allBoundary(true);
39+
setGeometry(geometry);
40+
41+
showFullScreen();
42+
43+
raise();
44+
activateWindow();
45+
46+
setCursor(Qt::ArrowCursor);
47+
48+
m_screenlist = list;
49+
}
50+
51+
void ScreenWidgets::cleanup()
52+
{
53+
SPD_FUNCTION();
54+
hide();
55+
56+
SPD_TRACE("is visable = {0} && w: {1}, h: {2} @ {3}", this->isVisible(), size().width(), size().height(), __FUNCTION__);
57+
58+
m_status = "unknown";
59+
60+
update();
61+
}
62+
63+
64+
void ScreenWidgets::finishConfirmArea()
65+
{
66+
//if (m_workspace->areaConfirmed() == true)
67+
// m_status = "active";
68+
//else
69+
// m_status = "giveup";
70+
}
71+
72+
void ScreenWidgets::showEvent(QShowEvent* event)
73+
{
74+
SPD_FUNCTION();
75+
76+
raise();
77+
activateWindow();
78+
79+
setMouseTracking(true);
80+
81+
QWidget::showEvent(event);
82+
SPD_WARN("is visable = {0} && x: {1}, y: {2}, w: {3}, h: {4} @ {5} --- {6}"
83+
, this->isVisible(), pos().x(), pos().y(), size().width(), size().height(), m_status.toStdString().c_str()
84+
, __FUNCTION__);
85+
}
86+
87+
void ScreenWidgets::hideEvent(QHideEvent* event)
88+
{
89+
setMouseTracking(false);
90+
91+
resize(0, 0);
92+
93+
QWidget::hideEvent(event);
94+
95+
SPD_INFO("is visable = {0} && x: {1}, y: {2}, w: {3}, h: {4} @ {5} --- {6}"
96+
, this->isVisible(), pos().x(), pos().y(), size().width(), size().height(), m_status.toStdString().c_str()
97+
, __FUNCTION__);
98+
}
99+
100+
void ScreenWidgets::closeEvent(QCloseEvent* event)
101+
{
102+
//event->ignore();
103+
104+
SPD_TRACE("{0} stat = {1}", __FUNCTION__, m_status.toStdString().c_str());
105+
106+
hide();
107+
}
108+
109+
void ScreenWidgets::mousePressEvent(QMouseEvent* event)
110+
{
111+
}
112+
113+
void ScreenWidgets::mouseMoveEvent(QMouseEvent* event)
114+
{
115+
SPD_TRACE("{0} stat = {1}", __FUNCTION__, m_status.toStdString().c_str());
116+
}
117+
118+
void ScreenWidgets::mouseReleaseEvent(QMouseEvent* event)
119+
{
120+
//m_workspace->onMouseRelease(event);
121+
}
122+
123+
void ScreenWidgets::keyPressEvent(QKeyEvent* event)
124+
{
125+
}
126+
127+
void ScreenWidgets::paintEvent(QPaintEvent* event)
128+
{
129+
SPD_FUNCTION();
130+
131+
Q_UNUSED(event);
132+
133+
QPainter painter(this);
134+
135+
}
136+
137+
void ScreenWidgets::enterEvent(QEvent* event)
138+
{
139+
SPD_FUNCTION();
140+
QWidget::enterEvent(event);
141+
}
142+
143+
void ScreenWidgets::leaveEvent(QEvent* event)
144+
{
145+
SPD_FUNCTION();
146+
// if (m_workspace->areaConfirmed() == false)
147+
// {
148+
// m_workspace->setAreaBoundary(QRect(0,0,0,0));
149+
// update();
150+
// }
151+
152+
QWidget::leaveEvent(event);
153+
}
154+
155+
156+

core/screen_widget.h

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,36 @@
1010
#include <QString>
1111
#include <QPainter>
1212

13+
#include "screen_list.h"
1314

1415
class ScreenWidgets : public QWidget {
1516
Q_OBJECT
17+
1618
public:
17-
explicit ScreenWidgets(QWidget *parent);
18-
~ScreenWidgets() override;
19+
ScreenWidgets(QWidget *parent = nullptr);
20+
~ScreenWidgets();
21+
22+
void start(std::shared_ptr<ScreenList> list, int index);
23+
void cleanup();
24+
25+
void finishConfirmArea();
1926

27+
protected:
28+
void showEvent(QShowEvent* event) override;
29+
void hideEvent(QHideEvent* event) override;
30+
void closeEvent(QCloseEvent* event) override;
2031

32+
void mousePressEvent(QMouseEvent *) override;
33+
void mouseReleaseEvent(QMouseEvent *) override;
34+
void mouseMoveEvent(QMouseEvent *) override;
35+
void keyPressEvent(QKeyEvent *) override;
36+
void paintEvent(QPaintEvent *) override;
37+
void enterEvent(QEvent* event) override;
38+
void leaveEvent(QEvent *event) override;
2139

2240
private:
41+
QString m_status; //unknown, active, giveup
42+
std::shared_ptr<ScreenList> m_screenlist;
2343

2444
};
2545

core/screen_workspace.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//
2+
// Created by wangyz38535 on 2023/10/13.
3+
//
4+
5+
#include "screen_workspace.h"
6+
#include "utils/spdlog_wrapper.h"

core/screen_workspace.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//
2+
// Created by wangyz38535 on 2023/10/13.
3+
//
4+
5+
#ifndef FIRESHOT_SCREEN_WORKSPACE_H
6+
#define FIRESHOT_SCREEN_WORKSPACE_H
7+
8+
#include <QWidget>
9+
#include <QRect>
10+
#include <QVector>
11+
#include <QFont>
12+
#include <QPushButton>
13+
14+
15+
16+
17+
18+
#endif //FIRESHOT_SCREEN_WORKSPACE_H

core/widget.cpp

Lines changed: 0 additions & 149 deletions
This file was deleted.

0 commit comments

Comments
 (0)