Top100
Your Personal Movie List (C++17 CLI + library)
Loading...
Searching...
No Matches
adddialog.h
1// SPDX-License-Identifier: Apache-2.0
2//-------------------------------------------------------------------------------
3// File: ui/qt/adddialog.h
4// Purpose: Qt dialog to search OMDb, preview details, and select a movie to add.
5//-------------------------------------------------------------------------------
6#pragma once
7
8#include <QDialog>
9#include <QVariantList>
10
11class QLineEdit;
12class QPushButton;
13class QListView;
14class QLabel;
15class QTextBrowser;
16class QStandardItemModel;
17class QNetworkAccessManager;
18
19class Top100ListModel;
20
21class Top100QtAddDialog : public QDialog {
22 Q_OBJECT
23public:
24 Top100QtAddDialog(QWidget* parent, Top100ListModel* model);
25 QString selectedImdb() const { return selectedImdb_; }
26
27protected:
28 void showEvent(QShowEvent* ev) override;
29 void resizeEvent(QResizeEvent* ev) override;
30
31private:
32 Top100ListModel* model_ = nullptr;
33 QLineEdit* queryEdit_ = nullptr;
34 QPushButton* searchBtn_ = nullptr;
35 QPushButton* addBtn_ = nullptr;
36 QListView* resultsView_ = nullptr;
37 QStandardItemModel* resultsModel_ = nullptr;
38 QLabel* titleLbl_ = nullptr;
39 QLabel* posterLbl_ = nullptr;
40 QTextBrowser* plotView_ = nullptr;
41 QNetworkAccessManager* nam_ = nullptr;
42 QPixmap origPoster_;
43 QString selectedImdb_;
44
45 void doSearch();
46 void onResultSelectionChanged();
47 void loadPoster(const QString& url);
48 void rescalePoster();
49};
Definition Top100ListModel.h:43
Definition adddialog.h:21