ff7tk  1.0.0.16
Work with Final Fantasy 7 game data
SlotPreview.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2012 - 2023 Chris Rizzitello <sithlord48@gmail.com>
2 // SPDX-License-Identifier: LGPL-3.0-or-later
3 
4 #pragma once
5 
6 #include <QLabel>
7 #include <ff7tkwidgets_export.h>
8 
9 class QHBoxLayout;
10 class QToolButton;
11 class QVBoxLayout;
12 class SaveIcon;
13 
19 class FF7TKWIDGETS_EXPORT SlotPreview : public QLabel
20 {
21  Q_OBJECT
22 public:
24  enum MODE {
27  FF7SAVE
28  };
29  Q_ENUM(MODE)
30  SlotPreview(int index = 0, QWidget *parent = nullptr);
31  int index(void);
32  void setParty(QPixmap p1, QPixmap p2, QPixmap p3);
33  void setName(QString);
34  void setLevel(int);
35  void setLocation(QString);
36  void setGil(int);
37  void setTime(int hour, int min);
38  void setPsxIcon(const QByteArray &icon_data, quint8 frames = 1);
39  void setPsxIcon(const QList<QByteArray> &icon_data);
40  void setMode(SlotPreview::MODE mode);
41  void setBackground(const QImage &image);
42  void setPSXText(const QString &text);
43 
44 signals:
45  void clicked(int);
46  void btn_remove_clicked(int);
47  void btn_copy_clicked(int);
48  void btn_paste_clicked(int);
50 protected:
51  void mousePressEvent(QMouseEvent *ev);
52  void paintEvent(QPaintEvent *);
53 
54 private:
55  QToolButton *btn_copy = nullptr;
56  QToolButton *btn_paste = nullptr;
57  QToolButton *btn_remove = nullptr;
58  SaveIcon *m_psxIcon = nullptr;
59 
60  int m_index;
61  int m_lineHeight;
62 
63  MODE m_mode = EMPTY;
64  QString m_psxText = QString();
65  QImage m_background = QImage();
66  QPixmap m_p1 = QPixmap();
67  QPixmap m_p2 = QPixmap();
68  QPixmap m_p3 = QPixmap();
69  QString m_name = QString();
70  QString m_time = QString();
71  QString m_level = QString();
72  QString m_gil = QString();
73  QString m_location = QString();
74 };
SlotPreview::MODE
MODE
Definition: SlotPreview.h:24
SlotPreview::PSXGAME
@ PSXGAME
PSX Game or linked block.
Definition: SlotPreview.h:26
SaveIcon
PSX icon data as a QPixmap.
Definition: SaveIcon.h:14
SlotPreview::EMPTY
@ EMPTY
Empty Slot.
Definition: SlotPreview.h:25
SlotPreview
Preview a Single Slot on a Psx memory card or FF7 Save file.
Definition: SlotPreview.h:19