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.
116 lines
3.2 KiB
116 lines
3.2 KiB
/* ============================================================
|
|
* File : camerafolderview.cpp
|
|
* Author: Renchi Raju <renchi@pooh.tam.uiuc.edu>
|
|
* Date : 2003-01-23
|
|
* Description :
|
|
*
|
|
* Copyright 2003 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
|
|
|
|
* 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.
|
|
*
|
|
* ============================================================ */
|
|
|
|
// KDE
|
|
#include <tdelocale.h>
|
|
#include <kiconloader.h>
|
|
// Local
|
|
#include "camerafolderitem.h"
|
|
#include "camerafolderview.h"
|
|
|
|
namespace KIPIKameraKlientPlugin
|
|
{
|
|
|
|
CameraFolderView::CameraFolderView(TQWidget* parent) : TDEListView(parent) {
|
|
addColumn(i18n("Camera Folders"));
|
|
setFullWidth(true);
|
|
setDragEnabled(false);
|
|
setDropVisualizer(false);
|
|
setDropHighlighter(false);
|
|
setAcceptDrops(true);
|
|
cameraName_ = "Camera";
|
|
virtualFolder_ = 0;
|
|
rootFolder_ = 0;
|
|
setupConnections();
|
|
}
|
|
|
|
CameraFolderView::~CameraFolderView() {
|
|
|
|
}
|
|
|
|
void CameraFolderView::setupConnections() {
|
|
connect(this, TQ_SIGNAL(selectionChanged(TQListViewItem*)), this, TQ_SLOT(slotSelectionChanged(TQListViewItem*)));
|
|
}
|
|
|
|
void CameraFolderView::addVirtualFolder(const TQString& name) {
|
|
cameraName_ = name;
|
|
virtualFolder_ = new CameraFolderItem(this, cameraName_);
|
|
virtualFolder_->setOpen(true);
|
|
}
|
|
|
|
void CameraFolderView::addRootFolder(const TQString& folder) {
|
|
rootFolder_ = new CameraFolderItem(virtualFolder_, folder, folder);
|
|
rootFolder_->setOpen(true);
|
|
}
|
|
|
|
CameraFolderItem* CameraFolderView::addFolder(const TQString& folder, const TQString& subFolder) {
|
|
CameraFolderItem *parentItem = findFolder(folder);
|
|
if (parentItem) {
|
|
TQString path(folder);
|
|
if (!folder.endsWith("/")) {
|
|
path += "/";
|
|
}
|
|
path += subFolder;
|
|
CameraFolderItem* item = new CameraFolderItem(parentItem, subFolder, path);
|
|
item->setOpen(true);
|
|
return item;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
CameraFolderItem* CameraFolderView::findFolder(const TQString& folderPath) {
|
|
TQListViewItemIterator it(this);
|
|
for( ; it.current(); ++it) {
|
|
CameraFolderItem* item = static_cast<CameraFolderItem*>(it.current());
|
|
if (item->folderPath() == folderPath) {
|
|
return item;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void CameraFolderView::slotSelectionChanged(TQListViewItem* item) {
|
|
if (!item) {
|
|
return;
|
|
}
|
|
emit signalFolderChanged(static_cast<CameraFolderItem *>(item));
|
|
}
|
|
|
|
CameraFolderItem* CameraFolderView::virtualFolder() {
|
|
return virtualFolder_;
|
|
}
|
|
|
|
CameraFolderItem* CameraFolderView::rootFolder() {
|
|
return rootFolder_;
|
|
}
|
|
|
|
void CameraFolderView::clear() {
|
|
TDEListView::clear();
|
|
virtualFolder_ = 0;
|
|
rootFolder_ = 0;
|
|
emit signalCleared();
|
|
}
|
|
|
|
} // NameSpace KIPIKameraKlientPlugin
|
|
|
|
#include "camerafolderview.moc"
|