knotes_part.h
00001 /* 00002 This file is part of the KDE project 00003 Copyright (C) 2002 Daniel Molkentin <molkentin@kde.org> 00004 Copyright (C) 2004-2006 Michael Brade <brade@kde.org> 00005 00006 This program is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; see the file COPYING. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef KNOTES_PART_H 00023 #define KNOTES_PART_H 00024 00025 #include <tqdict.h> 00026 00027 #include <kiconview.h> 00028 #include <kglobal.h> 00029 #include <kiconloader.h> 00030 00031 #include <libkcal/journal.h> 00032 #include <kparts/part.h> 00033 00034 #include "knotes/KNotesIface.h" 00035 00036 class KIconView; 00037 class TQIconViewItem; 00038 class KNotesIconViewItem; 00039 class KNoteTip; 00040 class KNoteEditDlg; 00041 class KNotesResourceManager; 00042 00043 namespace KCal { 00044 class Journal; 00045 } 00046 00047 class KNotesPart : public KParts::ReadOnlyPart, virtual public KNotesIface 00048 { 00049 Q_OBJECT 00050 TQ_OBJECT 00051 00052 public: 00053 KNotesPart( TQObject *parent = 0, const char *name = 0 ); 00054 ~KNotesPart(); 00055 00056 bool openFile(); 00057 00058 public slots: 00059 TQString newNote( const TQString& name = TQString(), 00060 const TQString& text = TQString() ); 00061 TQString newNoteFromClipboard( const TQString& name = TQString() ); 00062 00063 public: 00064 void killNote( const TQString& id ); 00065 void killNote( const TQString& id, bool force ); 00066 00067 TQString name( const TQString& id ) const; 00068 TQString text( const TQString& id ) const; 00069 00070 void setName( const TQString& id, const TQString& newName ); 00071 void setText( const TQString& id, const TQString& newText ); 00072 00073 TQMap<TQString, TQString> notes() const; 00074 00075 private slots: 00076 void createNote( KCal::Journal *journal ); 00077 void killNote( KCal::Journal *journal ); 00078 00079 void editNote( TQIconViewItem *item ); 00080 00081 void renameNote(); 00082 void renamedNote( TQIconViewItem *item ); 00083 00084 void slotOnItem( TQIconViewItem *item ); 00085 void slotOnViewport(); 00086 void slotOnCurrentChanged( TQIconViewItem *item ); 00087 00088 void popupRMB( TQIconViewItem *item, const TQPoint& pos ); 00089 void killSelectedNotes(); 00090 00091 void printSelectedNotes(); 00092 00093 private: 00094 KIconView *mNotesView; 00095 KNoteTip *mNoteTip; 00096 KNoteEditDlg *mNoteEditDlg; 00097 00098 KNotesResourceManager *mManager; 00099 TQDict<KNotesIconViewItem> mNoteList; 00100 TQString mOldName; 00101 }; 00102 00103 #endif