vcsfiletreewidgetimpl.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * Copyright (C) 2003 by Mario Scalas * 00003 * mario.scalas@libero.it * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 00012 #ifndef VCSFILETREEWIDGETIMPL_H 00013 #define VCSFILETREEWIDGETIMPL_H 00014 00015 #include "filetreeviewwidgetimpl.h" 00016 00017 class KDevVCSFileInfoProvider; 00018 class KAction; 00019 class KToggleAction; 00020 00025 class VCSFileTreeWidgetImpl : public FileTreeViewWidgetImpl 00026 { 00027 Q_OBJECT 00028 public: 00029 VCSFileTreeWidgetImpl( FileTreeWidget *parent, KDevVCSFileInfoProvider *infoProvider ); 00030 virtual ~VCSFileTreeWidgetImpl(); 00031 00032 /* 00033 * We must avoid a reload operation while we syncing with the repository since this 00034 * will break our job. 00035 */ 00036 virtual bool canReloadTree() const; 00037 /* 00038 * Add "sync with repository" and "show VCS fields" options to the context menu. 00039 */ 00040 virtual void fillPopupMenu( QPopupMenu *popupMenu, QListViewItem *item ) const; 00041 00042 private slots: 00044 void slotToggleShowVCSFields( bool checked ); 00047 void slotSyncWithRepository(); 00052 void vcsDirStatusReady( const VCSFileInfoMap &modifiedFiles, void *callerData ); 00053 00054 private: 00055 bool showVCSFields() const; 00056 00057 KToggleAction *m_actionToggleShowVCSFields; 00058 KAction *m_actionSyncWithRepository; 00059 KDevVCSFileInfoProvider *m_vcsInfoProvider; 00062 bool m_isSyncingWithRepository; 00063 mutable KFileTreeViewItem *m_vcsStatusRequestedItem; 00064 }; 00065 00066 #endif