Skip to content

Commit

Permalink
Creates a user interface and an installer for the application.
Browse files Browse the repository at this point in the history
  • Loading branch information
danilopeixoto committed Dec 30, 2017
1 parent c216330 commit eec6bd9
Show file tree
Hide file tree
Showing 33 changed files with 1,911 additions and 307 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ An application to organize movie libraries.

Dependencies
------------
This project requires the latest version of the product and service listed below:
This project requires the latest version of the products and services listed below:

- [Qt for Application Development](https://www.qt.io/download-qt-for-application-development)
- [Single Application - Qt Solutions](https://github.com/qtproject/qt-solutions/tree/master/qtsingleapplication)
- [Nullsoft Scriptable Install System](http://nsis.sourceforge.net)
- [The Movie Database API](https://www.themoviedb.org/documentation/api)

Copyright and License
Expand Down
27 changes: 14 additions & 13 deletions include/DatabaseFile.h → include/File.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,21 @@
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#ifndef MOVIES_DATABASE_FILE_H
#define MOVIES_DATABASE_FILE_H
#ifndef MOVIES_FILE_H
#define MOVIES_FILE_H

#include <Global.h>

#include <QFile>
#include <QDataStream>

MOVIES_NAMESPACE_BEGIN

class MovieCollection;
class MovieLibrary;

class DatabaseFile {
class File {
private:
File file;
QFile file;
QDataStream stream;

public:
Expand All @@ -48,21 +49,21 @@ class DatabaseFile {
ReadWrite
};

static const UInt signature();
static const String signature();

DatabaseFile();
DatabaseFile(const String &, OpenMode = ReadWrite);
~DatabaseFile();
File();
File(const String &, OpenMode = ReadWrite);
~File();

const String & getFilename() const;
OpenMode getOpenMode() const;
Bool isOpen() const;

DatabaseFile & open(const String &, OpenMode = ReadWrite);
DatabaseFile & close();
Bool open(const String &, OpenMode = ReadWrite);
File & close();

Bool read(MovieCollection &);
Bool write(const MovieCollection &);
Bool read(MovieLibrary &);
Bool write(const MovieLibrary &);
};

MOVIES_NAMESPACE_END
Expand Down
29 changes: 24 additions & 5 deletions include/Global.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,15 @@
#define MOVIES_GLOBAL_H

#define MOVIES_NAME "Movies"
#define MOVIES_ID "6D6F76696573"
#define MOVIES_VERSION "1.0.0"
#define MOVIES_AUTHOR "Danilo Ferreira"
#define MOVIES_COPYRIGHT "Copyright (c) 2017, Danilo Ferreira. All rights reserved."
#define MOVIES_LICENSE "BSD-3-Clause License"

#define MOVIES_DATABASE_KEY "25a26202d9effd52a58825afc0142306"
#define MOVIES_DATABASE_FILE "movie_library.data"

#define MOVIES_NAMESPACE_BEGIN namespace movies {
#define MOVIES_NAMESPACE_END };
#define MOVIES_NAMESPACE_USING using namespace movies;
Expand All @@ -44,9 +48,8 @@
#include <QChar>
#include <QString>
#include <QStringList>
#include <QImage>
#include <QFile>
#include <QVector>
#include <QHash>
#include <QMap>

MOVIES_NAMESPACE_BEGIN
Expand All @@ -59,13 +62,29 @@ typedef double Float;

typedef QString String;
typedef QStringList StringList;
typedef QImage Poster;
typedef QFile File;

template<typename T> using List = QVector<T>;
template<typename K, typename V> using Map = QMap<K, V>;
template<typename K, typename V> using UnorderedMap = QHash<K, V>;
template<typename K, typename V> using OrderedMap = QMap<K, V>;

class MovieData;

typedef List<UInt> SearchResults;
typedef List<MovieData> MovieDataList;
typedef UnorderedMap<String, MovieData> MovieCollection;

template<typename T> T min(const T & a, const T & b) {
return a < b ? a : b;
}
template<typename T> T max(const T & a, const T & b) {
return a > b ? a : b;
}
template<typename T> void swap(const T & a, const T & b) {
T t = a;

a = b;
b = t;
}

MOVIES_NAMESPACE_END

Expand Down
133 changes: 0 additions & 133 deletions include/MovieCollection.h

This file was deleted.

18 changes: 11 additions & 7 deletions include/MovieData.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@ MOVIES_NAMESPACE_BEGIN

class MovieData {
private:
String title, overview;
UInt year;
String title, overview, poster, url;
UInt id, year;
StringList directors, writers, actors, genres;
Runtime runtime;
Poster poster;

public:
MovieData();
MovieData(const MovieData &);
MovieData(const String &, UInt, const String &, const StringList &, const StringList &,
const StringList &, const StringList &, const Runtime &, const Poster &);
MovieData(UInt, const String &, UInt, const String &, const StringList &,
const StringList &, const StringList &, const StringList &,
const Runtime &, const String &, const String &);
~MovieData();

MovieData & operator =(const MovieData &);
Expand All @@ -57,6 +57,7 @@ class MovieData {
friend QDataStream & operator >>(QDataStream &, MovieData &);
friend QDataStream & operator <<(QDataStream &, const MovieData &);

MovieData & setID(UInt);
MovieData & setTitle(const String &);
MovieData & setYear(UInt);
MovieData & setOverview(const String &);
Expand All @@ -65,7 +66,9 @@ class MovieData {
MovieData & setActors(const StringList &);
MovieData & setGenres(const StringList &);
MovieData & setRuntime(const Runtime &);
MovieData & setPoster(const Poster &);
MovieData & setPoster(const String &);
MovieData & setURL(const String &);
UInt getID() const;
const String & getTitle() const;
UInt getYear() const;
const String & getOverview() const;
Expand All @@ -74,7 +77,8 @@ class MovieData {
const StringList & getActors() const;
const StringList & getGenres() const;
const Runtime & getRuntime() const;
const Poster & getPoster() const;
const String & getPoster() const;
const String & getURL() const;

String toString() const;
};
Expand Down
12 changes: 8 additions & 4 deletions include/MovieDatabase.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@

#include <Global.h>

#include <QTimer>
#include <QEventLoop>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
Expand Down Expand Up @@ -65,29 +66,32 @@ class MovieDatabase {
static const String writing;
};

static const UInt timeout;

static const QNetworkRequest authenticationRequest(const String &);
static const QNetworkRequest searchRequest(const String &, const String &);
static const QNetworkRequest detailRequest(const String &, UInt);
static const QNetworkRequest posterRequest(const String &);

String key;

QTimer timer;
QEventLoop eventLoop;
QNetworkAccessManager networkManager;

MovieDatabase & wait();
Bool waiting(QNetworkReply *);
Bool authenticate(const String &);
Bool retrievePoster(const String &, Poster &);
String retrievePoster(const String &);

public:
MovieDatabase();
MovieDatabase(const String &);
~MovieDatabase();

const String & getKey() const;
Bool isOpen() const;
Bool isOpen();

MovieDatabase & open(const String &);
Bool open(const String &);
MovieDatabase & close();

Bool search(const String &, SearchResults &);
Expand Down
Loading

0 comments on commit eec6bd9

Please sign in to comment.