digikam
albumhistory.h
Go to the documentation of this file.00001 /* ============================================================ 00002 * 00003 * This file is a part of digiKam project 00004 * http://www.digikam.org 00005 * 00006 * Date : 2004-11-17 00007 * Description : Albums history manager. 00008 * 00009 * Copyright (C) 2004 by Joern Ahrens <joern.ahrens@kdemail.net> 00010 * Copyright (C) 2006-2008 by Gilles Caulier <caulier dot gilles at gmail dot com> 00011 * 00012 * This program is free software; you can redistribute it 00013 * and/or modify it under the terms of the GNU General 00014 * Public License as published by the Free Software Foundation; 00015 * either version 2, or (at your option) 00016 * any later version. 00017 * 00018 * This program is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 * GNU General Public License for more details. 00022 * 00023 * ============================================================ */ 00024 00025 #ifndef ALBUMHISTORY_H 00026 #define ALBUMHISTORY_H 00027 00030 // Qt includes. 00031 00032 #include <QList> 00033 #include <QObject> 00034 #include <QStringList> 00035 00036 namespace Digikam 00037 { 00038 00039 class Album; 00040 class HistoryItem; 00041 00048 class AlbumHistory : public QObject 00049 { 00050 Q_OBJECT 00051 00052 public: 00053 00054 AlbumHistory(); 00055 ~AlbumHistory(); 00056 00057 void addAlbum(Album *album, QWidget *widget = 0); 00058 void deleteAlbum(Album *album); 00059 void clearHistory(); 00060 void back(Album **album, QWidget **widget, unsigned int steps=1); 00061 void forward(Album **album, QWidget **widget, unsigned int steps=1); 00062 void getCurrentAlbum(Album **album, QWidget **widget) const; 00063 00064 void getBackwardHistory(QStringList &list) const; 00065 void getForwardHistory(QStringList &list) const; 00066 00067 bool isForwardEmpty() const; 00068 bool isBackwardEmpty() const; 00069 00070 private: 00071 00072 HistoryItem* getCurrentAlbum() const; 00073 void forward(unsigned int steps=1); 00074 00075 private: 00076 00077 typedef QList<HistoryItem*> AlbumStack; 00078 00079 bool m_moving; 00080 00081 AlbumStack *m_backwardStack; 00082 AlbumStack *m_forwardStack; 00083 }; 00084 00085 } // namespace Digikam 00086 00087 #endif /* ALBUMHISTORY_H */
KDE 4.2 API Reference