~ubuntu-branches/ubuntu/saucy/digikam/saucy

« back to all changes in this revision

Viewing changes to digikam/digikamimageview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-12-21 23:19:11 UTC
  • mfrom: (1.2.33 upstream) (3.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20101221231911-z9jip7s5aht1jqn9
Tags: 2:1.7.0-1ubuntu1
* Merge from Debian Experimental. Remaining Ubuntu changes:
  - Export .pot name and copy to plugins in debian/rules
  - Version build-depends on kipi-plugins-dev to ensure build is against the
    same version on all archs
* Drop debian/patches/kubuntu_01_linker.diff, incoporated upstream
* Remove patches directory and unused patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
74
74
namespace Digikam
75
75
{
76
76
 
77
 
DigikamImageView::DigikamImageView(QWidget *parent)
78
 
                : ImageCategorizedView(parent), d(new DigikamImageViewPriv(this))
 
77
DigikamImageView::DigikamImageView(QWidget* parent)
 
78
    : ImageCategorizedView(parent), d(new DigikamImageViewPriv(this))
79
79
{
80
80
    installDefaultModels();
81
81
 
82
82
    setItemDelegate(new DigikamImageDelegate(this));
83
83
    setSpacing(10);
84
84
 
85
 
    AlbumSettings *settings = AlbumSettings::instance();
 
85
    AlbumSettings* settings = AlbumSettings::instance();
86
86
 
87
87
    imageFilterModel()->setCategorizationMode(ImageSortSettings::CategoryByAlbum);
88
88
 
109
109
    d->updateOverlays();
110
110
 
111
111
    // rating overlay
112
 
    ImageRatingOverlay *ratingOverlay = new ImageRatingOverlay(this);
 
112
    ImageRatingOverlay* ratingOverlay = new ImageRatingOverlay(this);
113
113
    addOverlay(ratingOverlay);
114
114
 
115
 
    connect(ratingOverlay, SIGNAL(ratingEdited(const QModelIndex &, int)),
 
115
    connect(ratingOverlay, SIGNAL(ratingEdited(const QModelIndex&, int)),
116
116
            this, SLOT(assignRating(const QModelIndex&, int)));
117
117
 
118
118
    d->utilities = new ImageViewUtilities(this);
137
137
    delete d;
138
138
}
139
139
 
140
 
ImageViewUtilities *DigikamImageView::utilities() const
 
140
ImageViewUtilities* DigikamImageView::utilities() const
141
141
{
142
142
    return d->utilities;
143
143
}
161
161
void DigikamImageView::activated(const ImageInfo& info)
162
162
{
163
163
    if (info.isNull())
 
164
    {
164
165
        return;
 
166
    }
165
167
 
166
168
    if (AlbumSettings::instance()->getItemLeftClickAction() == AlbumSettings::ShowPreview)
 
169
    {
167
170
        emit previewRequested(info);
 
171
    }
168
172
    else
 
173
    {
169
174
        openInEditor(info);
 
175
    }
170
176
}
171
177
 
172
178
void DigikamImageView::openInEditor(const ImageInfo& info)
177
183
void DigikamImageView::openCurrentInEditor()
178
184
{
179
185
    ImageInfo info = currentInfo();
 
186
 
180
187
    if (!info.isNull())
 
188
    {
181
189
        d->utilities->openInEditor(info, imageInfos(), currentAlbum());
 
190
    }
182
191
}
183
192
 
184
193
void DigikamImageView::showContextMenuOnInfo(QContextMenuEvent* event, const ImageInfo& info)
192
201
 
193
202
    // Temporary actions --------------------------------------
194
203
 
195
 
    QAction  *viewAction = new QAction(SmallIcon("viewimage"), i18nc("View the selected image", "View"),  this);
 
204
    QAction*  viewAction = new QAction(SmallIcon("viewimage"), i18nc("View the selected image", "View"),  this);
196
205
    viewAction->setEnabled(selectedImageIDs.count() == 1);
197
206
 
198
207
    // --------------------------------------------------------
256
265
 
257
266
    // --------------------------------------------------------
258
267
 
259
 
    QAction *choice = cmhelper.exec(event->globalPos());
260
 
    if (choice)
 
268
    QAction* choice = cmhelper.exec(event->globalPos());
 
269
 
 
270
    if (choice && (choice == viewAction))
261
271
    {
262
 
        if (choice == viewAction)
263
 
            emit previewRequested(info);
 
272
        emit previewRequested(info);
264
273
    }
265
274
}
266
275
 
267
276
void DigikamImageView::showContextMenu(QContextMenuEvent* event)
268
277
{
269
 
    Album *album = currentAlbum();
 
278
    Album* album = currentAlbum();
270
279
 
271
280
    if (!album ||
272
 
         album->isRoot() ||
 
281
        album->isRoot() ||
273
282
        (album->type() != Album::PHYSICAL && album->type() != Album::TAG) )
274
283
    {
275
284
        return;
276
285
    }
277
286
 
278
287
    KMenu popmenu(this);
279
 
    KAction *paste        = KStandardAction::paste(this, SLOT(paste()), 0);
280
 
    const QMimeData *data = kapp->clipboard()->mimeData(QClipboard::Clipboard);
 
288
    KAction* paste        = KStandardAction::paste(this, SLOT(paste()), 0);
 
289
    const QMimeData* data = kapp->clipboard()->mimeData(QClipboard::Clipboard);
281
290
 
282
291
    /**
283
292
    * @todo
284
293
    */
285
 
    if(!data || !KUrl::List::canDecode(data))
 
294
    if (!data || !KUrl::List::canDecode(data))
 
295
    {
286
296
        paste->setEnabled(false);
 
297
    }
287
298
 
288
299
    popmenu.addAction(paste);
289
300
    popmenu.exec(event->globalPos());
306
317
void DigikamImageView::insertSelectedToCurrentQueue()
307
318
{
308
319
    ImageInfoList imageInfoList = selectedImageInfos();
 
320
 
309
321
    if (!imageInfoList.isEmpty())
310
322
    {
311
323
        d->utilities->insertToQueueManager(imageInfoList, imageInfoList.first(), false);
315
327
void DigikamImageView::insertSelectedToNewQueue()
316
328
{
317
329
    ImageInfoList imageInfoList = selectedImageInfos();
 
330
 
318
331
    if (!imageInfoList.isEmpty())
319
332
    {
320
333
        d->utilities->insertToQueueManager(imageInfoList, imageInfoList.first(), true);
324
337
void DigikamImageView::insertSelectedToExistingQueue(int queueid)
325
338
{
326
339
    ImageInfoList imageInfoList = selectedImageInfos();
 
340
 
327
341
    if (!imageInfoList.isEmpty())
328
342
    {
329
343
        d->utilities->insertSilentToQueueManager(imageInfoList, imageInfoList.first(), queueid);
333
347
void DigikamImageView::deleteSelected(bool permanently)
334
348
{
335
349
    ImageInfoList imageInfoList = selectedImageInfos();
 
350
 
336
351
    if (d->utilities->deleteImages(imageInfoList, permanently))
 
352
    {
337
353
        awayFromSelection();
 
354
    }
338
355
}
339
356
 
340
357
void DigikamImageView::deleteSelectedDirectly(bool permanently)
359
376
    MetadataManager::instance()->assignRating(selectedImageInfos(), rating);
360
377
}
361
378
 
362
 
void DigikamImageView::assignRating(const QModelIndex &index, int rating)
 
379
void DigikamImageView::assignRating(const QModelIndex& index, int rating)
363
380
{
364
381
    MetadataManager::instance()->assignRating(QList<ImageInfo>() << imageFilterModel()->imageInfo(index), rating);
365
382
}
391
408
    {
392
409
        newNamesList = dlg->newNames();
393
410
    }
 
411
 
394
412
    delete dlg;
395
413
 
396
414
    if (!newNamesList.isEmpty())
404
422
void DigikamImageView::slotRotateLeft()
405
423
{
406
424
    KActionMenu* action = dynamic_cast<KActionMenu*>(ContextMenuHelper::kipiRotateAction());
 
425
 
407
426
    if (action)
408
427
    {
409
428
        QList<QAction*> list = action->menu()->actions();
420
439
void DigikamImageView::slotRotateRight()
421
440
{
422
441
    KActionMenu* action = dynamic_cast<KActionMenu*>(ContextMenuHelper::kipiRotateAction());
 
442
 
423
443
    if (action)
424
444
    {
425
445
        QList<QAction*> list = action->menu()->actions();