1
/* ============================================================
2
* Author: Caulier Gilles <caulier dot gilles at free.fr>
6
* Copyright 2004 by Gilles Caulier
8
* This program is free software; you can redistribute it
9
* and/or modify it under the terms of the GNU General
10
* Public License as published by the Free Software Foundation;
11
* either version 2, or (at your option)
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
19
* ============================================================ */
26
#include <qcheckbox.h>
31
#include <kapplication.h>
38
#include "albumiconview.h"
39
#include "albumiconitem.h"
41
#include "imagepropertiesgeneral.h"
42
#include "imagepropertiesexif.h"
43
#include "imagepropertieshistogram.h"
44
#include "imageproperties.h"
47
// Constructor with AlbumIconView and AlbumIconItem instance.
49
ImageProperties::ImageProperties(AlbumIconView* view, AlbumIconItem* currItem)
50
: KDialogBase(Tabbed, QString::null,
51
Help|User1|User2|Stretch|Close,
52
Close, view, 0, true, true,
53
KStdGuiItem::guiItem(KStdGuiItem::Forward),
54
KStdGuiItem::guiItem(KStdGuiItem::Back))
57
m_currItem = currItem;
58
m_currURL = currItem->fileItem()->url();
63
enableButton(User1, m_currItem->nextItem() != 0);
64
enableButton(User2, m_currItem->prevItem() != 0);
70
ImageProperties::ImageProperties(QWidget *parent, const KURL& url, QRect *selectionArea)
71
: KDialogBase(Tabbed, QString::null,
73
Close, parent, 0, true, true)
80
m_selectionArea = selectionArea;
85
void ImageProperties::setupGui(void)
87
parentWidget()->setCursor( KCursor::waitCursor() );
88
setHelp("propertiesmetadatahistogram.anchor", "digikam");
90
m_generalPage = new ImagePropertiesGeneral(addPage(i18n("&General")));
91
m_exifPage = new ImagePropertiesEXIF(addPage(i18n("&EXIF")));
92
m_histogramPage = new ImagePropertiesHistogram(addPage(i18n("&Histogram")),
96
kapp->config()->setGroup("Image Properties Dialog");
97
showPage(kapp->config()->readNumEntry("Tab Active", 0));
99
// Init all info data.
103
resize(configDialogSize("Image Properties Dialog"));
104
parentWidget()->setCursor( KCursor::arrowCursor() );
107
ImageProperties::~ImageProperties()
109
kapp->config()->setGroup("Image Properties Dialog");
110
kapp->config()->writeEntry("Tab Active", activePageIndex());
112
saveDialogSize("Image Properties Dialog");
114
delete m_generalPage;
116
delete m_histogramPage;
119
void ImageProperties::slotUser1()
127
if (!m_currItem->nextItem())
129
enableButton(User1, false);
133
m_currItem = dynamic_cast<AlbumIconItem*>(m_currItem->nextItem());
134
m_currURL = m_currItem->fileItem()->url();
135
m_currItem->setSelected(true);
136
m_view->ensureItemVisible(m_currItem);
138
enableButton(User1, m_currItem->nextItem() != 0);
139
enableButton(User2, m_currItem->prevItem() != 0);
144
void ImageProperties::slotUser2()
152
if (!m_currItem->prevItem())
154
enableButton(User2, false);
158
m_currItem = dynamic_cast<AlbumIconItem*>(m_currItem->prevItem());
159
m_currURL = m_currItem->fileItem()->url();
160
m_currItem->setSelected(true);
161
m_view->ensureItemVisible(m_currItem);
163
enableButton(User1, m_currItem->nextItem() != 0);
164
enableButton(User2, m_currItem->prevItem() != 0);
169
void ImageProperties::slotItemChanged()
171
if (!m_currURL.isValid())
175
setCursor(KCursor::waitCursor());
177
setCaption(i18n("Properties for '%1'").arg(m_currURL.fileName()));
179
m_generalPage->setCurrentURL(m_currURL);
180
m_histogramPage->setCurrentURL(m_currURL);
181
m_exifPage->setCurrentURL(m_currURL);
183
setCursor( KCursor::arrowCursor() );
186
#include "imageproperties.moc"