FolderTreeItem.cpp
Go to the documentation of this file.00001 #include "FolderTreeItem.h"
00002 #include "icons/closedFolder.xpm"
00003 #include "icons/openedFolder.xpm"
00004
00005 FolderTreeItem::FolderTreeItem( VocabTreeView* parent, Folder* folder, Preferences& prefs, PropertiesPanel* propsPanel )
00006 : TreeItem( (QListView*) parent, "FolderTreeItem", CheckBox ), folder( folder ), prefs( prefs ), propsPanel( propsPanel ) {
00007 setText( 0, folder->getTitle() );
00008 setOn( folder->isMarkedForStudy() );
00009
00010 }
00011
00012 FolderTreeItem::FolderTreeItem( QListViewItem* parent, Folder* folder, Preferences& prefs, PropertiesPanel* propsPanel )
00013 : TreeItem( parent, "FolderTreeItem", CheckBox ), folder( folder ), prefs( prefs ), propsPanel( propsPanel ) {
00014 setText( 0, folder->getTitle() );
00015 setOn( folder->isMarkedForStudy() );
00016 }
00017
00018 FolderTreeItem::~FolderTreeItem() {
00019 }
00020
00021 bool FolderTreeItem::isFolder() const {
00022 return( true );
00023 }
00024
00025 void FolderTreeItem::setPropertiesPanel( PropertiesPanel* propsPanel ) {
00026 this->propsPanel = propsPanel;
00027 }
00028
00029 void FolderTreeItem::setOpen( bool isOpened ) {
00030
00031 if( parent() || isOpened ) {
00032 QCheckListItem::setOpen( isOpened );
00033 setPixmap( 0, ( isOpened ? ZPIXMAP( openedFolder_xpm ) : ZPIXMAP( closedFolder_xpm ) ) );
00034 prefs.setFolderOpen( folder->getId(), isOpened );
00035 }
00036 }
00037
00038 void FolderTreeItem::setOn( bool isOn ) {
00039
00040
00041
00042 bool isUpdateHackEnabled = listView()->isUpdatesEnabled();
00043 if( isUpdateHackEnabled )
00044 listView()->clearSelection();
00045 QCheckListItem::setOn( isOn );
00046 folder->setMarkedForStudy( isOn );
00047
00048 if( isUpdateHackEnabled )
00049 listView()->setSelected( this, true );
00050 }
00051
00052 Folder* FolderTreeItem::getFolder() {
00053 return( folder );
00054 }
00055
00056 void FolderTreeItem::update() {
00057 if( propsPanel )
00058 propsPanel->updateCounters();
00059 }