Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
frechet::app::FileHistory Class Reference

Detailed Description

keeps track of recently used files.

This list appears in the File / Open Recent menu. It is stored to disk as part of the application preferences.

Author
Peter Schäfer

Definition at line 48 of file filehistory.h.

#include <filehistory.h>

Inherits QObject.

Public Slots

void onMenuSelected ()
 called when an item from the Open Recent menu is selected More...
 

Signals

void open (QString)
 raised when a file is selected from the "Open Recent" menu More...
 

Public Member Functions

 FileHistory ()
 empty constructor More...
 
void init (QString agroup)
 initialize file list and menu More...
 
void restore (QSettings &settings)
 read settings from application preferences More...
 
size_t insert (QString path, QDateTime date=QDateTime::currentDateTime())
 insert a new file into the list More...
 
size_t lastId () const
 
QString lastFile () const
 
void attachMenu (QAction *recent)
 attach sub-menu More...
 
void beginFile (QSettings &settings, size_t id, bool forWrite=false)
 begin reading or updating file specific settings More...
 
void endFile (QSettings &settings)
 end updating file specific settings More...
 

Private Member Functions

int indexOf (QString path)
 find file by name More...
 
int indexOf (size_t id)
 find file by ID More...
 
QAction * createMenuItem (const FileEntry &entry, int position)
 create a new menu item in File/Open Recent More...
 
void moveMenuItem (int from, int to)
 move a menu item More...
 

Private Attributes

QList< FileEntryfiles
 list of file IDs; sorted by LRU More...
 
QString groupName
 group identifier if preferences More...
 
size_t next_id
 next identifier More...
 
QMenu * menu
 pointer to File/Open Recent menu More...
 

Constructor & Destructor Documentation

◆ FileHistory()

FileHistory::FileHistory ( )

empty constructor

Definition at line 43 of file filehistory.cpp.

Member Function Documentation

◆ attachMenu()

void FileHistory::attachMenu ( QAction *  recent)

attach sub-menu

Parameters
recentQAction that holds the File/Open Recent menu

Definition at line 101 of file filehistory.cpp.

◆ beginFile()

void FileHistory::beginFile ( QSettings &  settings,
size_t  id,
bool  forWrite = false 
)

begin reading or updating file specific settings

Parameters
settingsapplication preferences
idfile identifier (as issued by insert())
forWriteif true, file settings will be updated

Definition at line 107 of file filehistory.cpp.

◆ createMenuItem()

QAction * FileHistory::createMenuItem ( const FileEntry entry,
int  position 
)
private

create a new menu item in File/Open Recent

Parameters
entryan entry in file history
positionindex in menu
Returns
a newly create menu action

Definition at line 153 of file filehistory.cpp.

◆ endFile()

void FileHistory::endFile ( QSettings &  settings)

end updating file specific settings

Parameters
settingsapplication preferences

Definition at line 128 of file filehistory.cpp.

◆ indexOf() [1/2]

int FileHistory::indexOf ( QString  path)
private

find file by name

Parameters
pathcomplete file name and path
Returns
index of file in list (or -1 if not found)

Definition at line 170 of file filehistory.cpp.

◆ indexOf() [2/2]

int FileHistory::indexOf ( size_t  id)
private

find file by ID

Parameters
idfile ID
Returns
index of file in list (or -1 if not found)

Definition at line 145 of file filehistory.cpp.

◆ init()

void FileHistory::init ( QString  agroup)

initialize file list and menu

Parameters
agroupgroup identifier in preferences

Definition at line 47 of file filehistory.cpp.

◆ insert()

size_t FileHistory::insert ( QString  path,
QDateTime  date = QDateTime::currentDateTime() 
)

insert a new file into the list

Parameters
pathabsolute file path
datelast-used date (defaults to current date)
Returns
a unique identifier (for the lifetime of the application)

Definition at line 23 of file filehistory.cpp.

◆ lastFile()

QString FileHistory::lastFile ( ) const
Returns
last file name

Definition at line 94 of file filehistory.cpp.

◆ lastId()

size_t FileHistory::lastId ( ) const
Returns
last file ID

Definition at line 86 of file filehistory.cpp.

◆ moveMenuItem()

void FileHistory::moveMenuItem ( int  from,
int  to 
)
private

move a menu item

Parameters
fromold index
tonew index

Definition at line 165 of file filehistory.cpp.

◆ onMenuSelected

void FileHistory::onMenuSelected ( )
slot

called when an item from the Open Recent menu is selected

Definition at line 134 of file filehistory.cpp.

◆ open

void frechet::app::FileHistory::open ( QString  )
signal

raised when a file is selected from the "Open Recent" menu

◆ restore()

void FileHistory::restore ( QSettings &  settings)

read settings from application preferences

Parameters
settingsapplication preferences

Definition at line 53 of file filehistory.cpp.

Member Data Documentation

◆ files

QList<FileEntry> frechet::app::FileHistory::files
private

list of file IDs; sorted by LRU

Definition at line 53 of file filehistory.h.

◆ groupName

QString frechet::app::FileHistory::groupName
private

group identifier if preferences

Definition at line 55 of file filehistory.h.

◆ menu

QMenu* frechet::app::FileHistory::menu
private

pointer to File/Open Recent menu

Definition at line 59 of file filehistory.h.

◆ next_id

size_t frechet::app::FileHistory::next_id
private

next identifier

Definition at line 57 of file filehistory.h.


The documentation for this class was generated from the following files: