You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
digikam/digikam/digikam/tagfilterview.h

120 lines
3.0 KiB

/* ============================================================
*
* This file is a part of digiKam project
* http://www.digikam.org
*
* Date : 2005-05-05
* Description : tags filter view
*
* Copyright (C) 2005 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
* Copyright (C) 2006-2009 by Gilles Caulier <caulier dot gilles at gmail dot com>
* Copyright (C) 2009 by Andi Clemens <andi dot clemens at gmx dot net>
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation;
* either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* ============================================================ */
#ifndef TAGFILTERVIEW_H
#define TAGFILTERVIEW_H
// Local includes.
#include "folderview.h"
namespace Digikam
{
class Album;
class TagFilterViewItem;
class TagFilterViewPrivate;
class TagFilterView : public FolderView
{
Q_OBJECT
TQ_OBJECT
public:
enum ToggleAutoTags
{
NoToggleAuto = 0,
Children,
Parents,
ChildrenAndParents
};
public:
TagFilterView(TQWidget* parent);
~TagFilterView();
void stateChanged(TagFilterViewItem*);
void refresh();
signals:
void signalProgressBarMode(int, const TQString&);
void signalProgressValue(int);
void signalTextTagFilterMatch(bool);
public slots:
void slotTextTagFilterChanged(const TQString&);
/** Reset all active tag filters */
void slotResetTagFilters();
protected:
bool acceptDrop(const TQDropEvent *e) const;
void contentsDropEvent(TQDropEvent *e);
TQDragObject* dragObject();
private slots:
void slotTagAdded(Album* album);
void slotTagMoved(TAlbum* tag, TAlbum* newParent);
void slotTagRenamed(Album* album);
void slotTagDeleted(Album* album);
void slotClear();
void slotAlbumIconChanged(Album* album);
void slotTimeOut();
void slotContextMenu(TQListViewItem*, const TQPoint&, int);
void slotABCContextMenu();
void slotGotThumbnailFromIcon(Album *album, const TQPixmap& thumbnail);
void slotThumbnailLost(Album *album);
void slotReloadThumbnails();
void slotRefresh(const TQMap<int, int>&);
private:
void triggerChange();
void tagNew(TagFilterViewItem* item, const TQString& _title=TQString(),
const TQString& _icon=TQString());
void tagEdit(TagFilterViewItem* item);
void tagDelete(TagFilterViewItem* item);
void setTagThumbnail(TAlbum *album);
void toggleChildTags(TagFilterViewItem* tItem, bool b);
void toggleParentTags(TagFilterViewItem* tItem, bool b);
void loadViewState();
void saveViewState();
private:
TagFilterViewPrivate *d;
};
} // namespace Digikam
#endif /* TAGFILTERVIEW_H */