~ubuntu-branches/ubuntu/karmic/digikam/karmic-backports

« back to all changes in this revision

Viewing changes to digikam/digikamimageview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Ubuntu Archive Auto-Backport
  • Date: 2009-12-07 19:03:53 UTC
  • mfrom: (54.1.4 lucid)
  • Revision ID: james.westby@ubuntu.com-20091207190353-oara3lenjxymto3i
Tags: 2:1.0.0~rc-1ubuntu1~karmic1
Automated backport upload; no source changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 *
23
23
 * ============================================================ */
24
24
 
25
 
#include "digikamimageview.h"
26
25
#include "digikamimageview.moc"
27
26
#include "digikamimageview_p.h"
28
27
 
38
37
#include <kactionmenu.h>
39
38
#include <kactioncollection.h>
40
39
#include <kapplication.h>
41
 
 
42
40
#include <kmenu.h>
43
41
#include <kmimetype.h>
44
42
#include <krun.h>
87
85
 
88
86
    setToolTipEnabled(settings->showToolTipsIsValid());
89
87
    imageFilterModel()->setSortRole((ImageSortSettings::SortRole)settings->getImageSortOrder());
 
88
    imageFilterModel()->setSortOrder((ImageSortSettings::SortOrder)settings->getImageSorting());
90
89
    imageFilterModel()->setCategorizationMode((ImageSortSettings::CategorizationMode)settings->getImageGroupMode());
91
90
 
92
91
    // rotation overlays
129
128
void DigikamImageView::slotSetupChanged()
130
129
{
131
130
    setToolTipEnabled(AlbumSettings::instance()->showToolTipsIsValid());
 
131
    setFont(AlbumSettings::instance()->getIconViewFont());
132
132
 
133
133
    d->updateOverlays();
134
134
 
140
140
    if (info.isNull())
141
141
        return;
142
142
 
143
 
    if (AlbumSettings::instance()->getItemRightClickAction() == AlbumSettings::ShowPreview)
144
 
        previewRequested(info);
 
143
    if (AlbumSettings::instance()->getItemLeftClickAction() == AlbumSettings::ShowPreview)
 
144
        emit previewRequested(info);
145
145
    else
146
146
        openInEditor(info);
147
147
}
177
177
    DPopupMenu popmenu(this);
178
178
    ContextMenuHelper cmhelper(&popmenu);
179
179
 
180
 
    cmhelper.addAction("album_new_from_selection");
 
180
    cmhelper.addAction("move_selection_to_album");
181
181
    cmhelper.addAction(viewAction);
182
182
    cmhelper.addAction("image_edit");
183
183
    cmhelper.addServicesMenu(selectedUrls());
184
184
    cmhelper.addGotoMenu(selectedImageIDs);
185
 
    cmhelper.addKipiActions();
 
185
    cmhelper.addKipiActions(selectedImageIDs);
186
186
    popmenu.addSeparator();
187
187
    // --------------------------------------------------------
188
188
    cmhelper.addAction("image_find_similar");
191
191
    popmenu.addSeparator();
192
192
    // --------------------------------------------------------
193
193
    cmhelper.addAction("image_rename");
194
 
    cmhelper.addActionCopy(this, SLOT(copy()));
195
 
    cmhelper.addActionPaste(this, SLOT(paste()));
 
194
    cmhelper.addAction("cut_album_selection");
 
195
    cmhelper.addAction("copy_album_selection");
 
196
    cmhelper.addAction("paste_album_selection");
196
197
    cmhelper.addActionItemDelete(this, SLOT(deleteSelected()), selectedImageIDs.count());
197
198
    popmenu.addSeparator();
198
199
    // --------------------------------------------------------
264
265
    delete paste;
265
266
}
266
267
 
 
268
void DigikamImageView::cut()
 
269
{
 
270
    QMimeData *data = imageModel()->dragDropHandler()->createMimeData(selectedImageInfos());
 
271
    if (data)
 
272
    {
 
273
        d->utilities->addIsCutSelection(data, true);
 
274
        kapp->clipboard()->setMimeData(data);
 
275
    }
 
276
}
 
277
 
267
278
void DigikamImageView::copy()
268
279
{
269
280
    QMimeData *data = imageModel()->dragDropHandler()->createMimeData(selectedImageInfos());
270
281
    if (data)
 
282
    {
 
283
        d->utilities->addIsCutSelection(data, false);
271
284
        kapp->clipboard()->setMimeData(data);
 
285
    }
272
286
}
273
287
 
274
288
void DigikamImageView::paste()
280
294
    QPoint eventPos = mapFromGlobal(QCursor::pos());
281
295
    if (!rect().contains(eventPos))
282
296
        eventPos = QPoint(0, 0);
283
 
    QDropEvent event(eventPos, Qt::CopyAction, data, Qt::NoButton, Qt::ControlModifier);
 
297
 
 
298
    bool cutAction = d->utilities->decodeIsCutSelection(data);
 
299
    QDropEvent event(eventPos,
 
300
                     cutAction ? Qt::MoveAction : Qt::CopyAction,
 
301
                     data, Qt::NoButton,
 
302
                     cutAction ? Qt::ShiftModifier : Qt::ControlModifier);
284
303
    QModelIndex index = indexAt(event.pos());
285
304
    if (!imageModel()->dragDropHandler()->accepts(&event, index))
286
305
        return;
367
386
    {
368
387
        d->renameThread = new RenameThread(this);
369
388
 
370
 
        connect(d->renameThread, SIGNAL(renameFile(const ImageInfo&, const QString&)),
371
 
                d->utilities, SLOT(rename(const ImageInfo&, const QString&)));
372
 
 
373
 
        connect(d->utilities, SIGNAL(imageRenamed()),
374
 
                d->renameThread, SLOT(processNext()));
 
389
        connect(d->renameThread, SIGNAL(renameFile(const KUrl&, const QString&)),
 
390
                d->utilities, SLOT(rename(const KUrl&, const QString&)));
 
391
 
 
392
        connect(d->utilities, SIGNAL(imageRenameSucceeded(const KUrl&)),
 
393
                d->renameThread, SLOT(slotSuccess(const KUrl&)));
 
394
 
 
395
        connect(d->utilities, SIGNAL(imageRenameFailed(const KUrl&)),
 
396
                d->renameThread, SLOT(slotFailed(const KUrl&)));
 
397
 
 
398
        connect(d->utilities, SIGNAL(renamingAborted()),
 
399
                d->renameThread, SLOT(cancel()));
375
400
    }
376
401
 
377
402
    KUrl::List urls = selectedUrls();