Geometrize  1.0
An application for geometrizing images into geometric primitives
recentitems.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include <QObject>
6 
7 #include "recentitem.h"
8 
9 namespace geometrize
10 {
11 
16 class RecentItems : public QObject
17 {
18  Q_OBJECT
19 public:
25  RecentItems(const QString& group, unsigned int maxItems);
26 
29  RecentItems(RecentItems&&) = delete;
30  virtual ~RecentItems();
31 
36  QList<RecentItem> getItems() const;
37 
43  void add(const QString& itemId, const QString& itemDisplayName);
44 
49  void remove(const QString& itemId);
50 
54  void clear();
55 
56 signals:
61  void signal_added(const RecentItem& item);
62 
67  void signal_removed(const QString& itemId);
68 
73 
74 private:
75  friend void swap(RecentItems& first, RecentItems& second);
76 
77  class RecentItemsImpl;
78  std::unique_ptr<RecentItemsImpl> d;
79 };
80 
86 
87 }
geometrize::RecentItem
The RecentItem class models an item that was recently interacted with.
Definition: recentitem.h:12
geometrize::RecentItems::RecentItemsImpl::contains
bool contains(const QString &value) const
Definition: recentitems.cpp:47
geometrize::RecentItems::RecentItemsImpl::clearItems
void clearItems()
Definition: recentitems.cpp:98
geometrize::RecentItems::RecentItemsImpl::getItemCount
unsigned int getItemCount() const
Definition: recentitems.cpp:106
geometrize::RecentItems::RecentItemsImpl::RecentItemsImpl
RecentItemsImpl(const RecentItemsImpl &)=delete
recentitem.h
geometrize::RecentItems::RecentItems
RecentItems(RecentItems &)=delete
geometrize::RecentItems::RecentItemsImpl::ID_KEY
static const QString ID_KEY
Key for the path or URL to the item.
Definition: recentitems.cpp:155
geometrize::RecentItems::d
std::unique_ptr< RecentItemsImpl > d
Definition: recentitems.h:77
geometrize::RecentItems::RecentItemsImpl::msSinceEpochAsString
static QString msSinceEpochAsString()
Definition: recentitems.cpp:136
geometrize::RecentItem::getTimeStamp
long long int getTimeStamp() const
Definition: recentitem.cpp:42
geometrize::RecentItems::RecentItemsImpl::getOldestItemKey
QString getOldestItemKey() const
Definition: recentitems.cpp:121
geometrize::RecentItems::RecentItemsImpl::getId
static QString getId()
Definition: recentitems.cpp:146
geometrize::RecentItems::signal_cleared
void signal_cleared()
signal_cleared is emitted after the recent items are cleared.
geometrize::RecentItems::clear
void clear()
clear Removes all items from the recent items.
Definition: recentitems.cpp:196
geometrize::RecentItems::RecentItems
RecentItems(RecentItems &&)=delete
geometrize::RecentItems::RecentItemsImpl::getItemGroup
static QString getItemGroup()
Definition: recentitems.cpp:131
geometrize::RecentItems::swap
friend void swap(RecentItems &first, RecentItems &second)
geometrize::RecentItems::signal_removed
void signal_removed(const QString &itemId)
signal_removed is emitted after an item is removed.
geometrize::RecentItems::RecentItemsImpl::TIME_STAMP_KEY
static const QString TIME_STAMP_KEY
Key for the timestamp of when the item was added or replaced.
Definition: recentitems.cpp:157
geometrize::RecentItems::RecentItemsImpl::msSinceEpoch
static long long int msSinceEpoch()
Definition: recentitems.cpp:141
geometrize::RecentItems
The RecentItems class encapsulates a list of items that were recently interacted with....
Definition: recentitems.h:17
geometrize::RecentItems::getItems
QList< RecentItem > getItems() const
getItems Gets the recent items.
Definition: recentitems.cpp:172
geometrize::RecentItem::getKey
QString getKey() const
Definition: recentitem.cpp:32
geometrize::getRecentItems
RecentItems & getRecentItems()
getRecentItems Gets a reference to the recent files list.
Definition: recentitems.cpp:206
geometrize::RecentItems::RecentItemsImpl::getItems
QList< RecentItem > getItems() const
Definition: recentitems.cpp:27
geometrize
Definition: commandlineparser.cpp:73
geometrize::RecentItems::RecentItemsImpl
Definition: recentitems.cpp:14
geometrize::RecentItems::RecentItemsImpl::~RecentItemsImpl
~RecentItemsImpl()=default
geometrize::RecentItems::RecentItemsImpl::getMaxItemCount
unsigned int getMaxItemCount() const
Definition: recentitems.cpp:116
geometrize::RecentItems::RecentItemsImpl::RecentItemsImpl
RecentItemsImpl(const QString &group, unsigned int maxItems)
Definition: recentitems.cpp:16
geometrize::RecentItems::~RecentItems
virtual ~RecentItems()
Definition: recentitems.cpp:168
geometrize::RecentItems::remove
void remove(const QString &itemId)
remove Removes an item from the recent items.
Definition: recentitems.cpp:190
geometrize::RecentItems::signal_added
void signal_added(const RecentItem &item)
signal_added is emitted after an item is added.
geometrize::RecentItems::RecentItemsImpl::m_maxItems
const unsigned int m_maxItems
The maximum number of items.
Definition: recentitems.cpp:153
geometrize::RecentItems::RecentItemsImpl::removeItem
void removeItem(const QString &value)
Definition: recentitems.cpp:83
geometrize::RecentItems::add
void add(const QString &itemId, const QString &itemDisplayName)
add Adds an item to the recent items.
Definition: recentitems.cpp:177
geometrize::RecentItems::RecentItemsImpl::DISPLAY_NAME_KEY
static const QString DISPLAY_NAME_KEY
Key for the display name of the item.
Definition: recentitems.cpp:156
geometrize::RecentItems::RecentItemsImpl::operator=
RecentItemsImpl & operator=(const RecentItemsImpl &)=delete
geometrize::RecentItems::RecentItems
RecentItems(const QString &group, unsigned int maxItems)
RecentItems Creates a new RecentItems instance.
Definition: recentitems.cpp:164
recentitems.h
geometrize::RecentItems::RecentItemsImpl::addItem
RecentItem addItem(const QString &itemId, const QString &itemDisplayName)
Definition: recentitems.cpp:64
geometrize::RecentItems::RecentItemsImpl::m_group
const QString m_group
The base path group for storing the recent items in settings e.g. "recent_image_paths" etc.
Definition: recentitems.cpp:152
geometrize::RecentItems::operator=
RecentItems & operator=(RecentItems &)=delete
geometrize::RecentItem::getDisplayName
QString getDisplayName() const
Definition: recentitem.cpp:37