KDEUI
krecentfilesaction.h
Go to the documentation of this file.
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1999 Reginald Stadlbauer <reggie@kde.org> 00003 (C) 1999 Simon Hausmann <hausmann@kde.org> 00004 (C) 2000 Nicolas Hadacek <haadcek@kde.org> 00005 (C) 2000 Kurt Granroth <granroth@kde.org> 00006 (C) 2000 Michael Koch <koch@kde.org> 00007 (C) 2001 Holger Freyther <freyther@kde.org> 00008 (C) 2002 Ellis Whitehead <ellis@kde.org> 00009 (C) 2003 Andras Mantia <amantia@kde.org> 00010 (C) 2005-2006 Hamish Rodda <rodda@kde.org> 00011 00012 This library is free software; you can redistribute it and/or 00013 modify it under the terms of the GNU Library General Public 00014 License version 2 as published by the Free Software Foundation. 00015 00016 This library is distributed in the hope that it will be useful, 00017 but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 Library General Public License for more details. 00020 00021 You should have received a copy of the GNU Library General Public License 00022 along with this library; see the file COPYING.LIB. If not, write to 00023 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00024 Boston, MA 02110-1301, USA. 00025 */ 00026 00027 #ifndef KRECENTFILESACTION_H 00028 #define KRECENTFILESACTION_H 00029 00030 #include <kselectaction.h> 00031 #include <kurl.h> 00032 00033 class KConfigGroup; 00034 class KRecentFilesActionPrivate; 00035 00046 class KDEUI_EXPORT KRecentFilesAction : public KSelectAction 00047 { 00048 Q_OBJECT 00049 Q_PROPERTY( int maxItems READ maxItems WRITE setMaxItems ) 00050 Q_DECLARE_PRIVATE(KRecentFilesAction) 00051 00052 public: 00058 explicit KRecentFilesAction(QObject *parent); 00059 00072 KRecentFilesAction(const QString &text, QObject *parent); 00073 00085 KRecentFilesAction(const KIcon &icon, const QString &text, QObject *parent); 00086 00090 virtual ~KRecentFilesAction(); 00091 00098 void addAction(QAction* action, const KUrl& url, const QString& name); 00099 00103 virtual QAction* removeAction(QAction* action); 00104 00105 public Q_SLOTS: 00110 virtual void clear(); 00111 00112 public: 00116 int maxItems() const; 00117 00126 void setMaxItems( int maxItems ); 00127 00134 void loadEntries( const KConfigGroup &config ); 00135 00142 void saveEntries( const KConfigGroup &config ); 00143 00150 void addUrl( const KUrl& url, const QString& name = QString() ); 00151 00157 void removeUrl( const KUrl& url ); 00158 00162 KUrl::List urls() const; 00163 00164 Q_SIGNALS: 00170 void urlSelected( const KUrl& url ); 00171 00177 void recentListCleared(); 00178 00179 private: 00180 //Internal 00181 void clearEntries(); 00182 // Don't warn about the virtual overload. As the comment of the other 00183 // addAction() says, addAction( QAction* ) should not be used. 00184 using KSelectAction::addAction; 00185 00186 Q_PRIVATE_SLOT( d_func(), void _k_urlSelected(QAction*) ) 00187 }; 00188 00189 #endif
KDE 4.6 API Reference