------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=144431 caulier.gilles gmail com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Additional Comments From caulier.gilles gmail com 2007-08-27 05:43 ------- SVN commit 705060 by cgilles: digiKam from trunk (KDE4) : Camera Gui improvements : New options to Download pictures and Delete it from camera at the same time. 2 options have been added : "Download/Delete Selected" and "Download/Delete All". BUG: 144431 M +7 -3 cameraiconview.cpp M +1 -0 cameraiconview.h M +80 -44 cameraui.cpp M +3 -1 cameraui.h --- trunk/extragear/graphics/digikam/utilities/cameragui/cameraiconview.cpp #705059:705060 @ -43,7 +43,6 @ // KDE includes. #include <k3urldrag.h> -#include <kmenu.h> #include <kmimetype.h> #include <klocale.h> #include <kiconloader.h> @ -58,6 +57,7 @ #include "gpiteminfo.h" #include "renamecustomizer.h" #include "icongroupitem.h" +#include "dpopupmenu.h" #include "cameraui.h" #include "cameradragobject.h" #include "cameraiconitem.h" @ -433,11 +433,11 @ CameraIconViewItem* camItem = static_cast<CameraIconViewItem*>(item); - KMenu menu(this); - menu.addTitle(SmallIcon("digikam"), d->cameraUI->cameraTitle()); + DPopupMenu menu(this); QAction *viewAction = menu.addAction(SmallIcon("editimage"), i18n("&View")); menu.addSeparator(); QAction *downAction = menu.addAction(SmallIcon("down"),i18n("Download")); + QAction *downDelAction = menu.addAction(SmallIcon("down"),i18n("Download && Delete")); QAction *encryptedAction = menu.addAction(SmallIcon("encrypted"), i18n("Toggle lock")); menu.addSeparator(); QAction *deleteAction = menu.addAction(SmallIcon("edit-delete"), i18n("Delete")); @ -462,6 +462,10 @ { emit signalToggleLock(); } + else if (choice == downDelAction) + { + emit signalDownloadAndDelete(); + } } } --- trunk/extragear/graphics/digikam/utilities/cameragui/cameraiconview.h #705059:705060 @ -93,6 +93,7 @ void signalUpload(const KUrl::List&); void signalDownload(); + void signalDownloadAndDelete(); void signalDelete(); void signalToggleLock(); void signalNewSelection(bool); --- trunk/extragear/graphics/digikam/utilities/cameragui/cameraui.cpp #705059:705060 @ -134,41 +134,43 @ CameraUIPriv() { - busy = false; - closed = false; - helpMenu = 0; - advBox = 0; - downloadMenu = 0; - deleteMenu = 0; - imageMenu = 0; - cancelBtn = 0; - splitter = 0; - rightSidebar = 0; - fixDateTimeCheck = 0; - autoRotateCheck = 0; - autoAlbumDateCheck = 0; - autoAlbumExtCheck = 0; - status = 0; - progress = 0; - controller = 0; - view = 0; - renameCustomizer = 0; - anim = 0; - dateTimeEdit = 0; - setPhotographerId = 0; - setCredits = 0; - losslessFormat = 0; - convertJpegCheck = 0; - formatLabel = 0; - folderDateLabel = 0; - folderDateFormat = 0; - increaseThumbsAction = 0; - decreaseThumbsAction = 0; - downloadSelectedAction = 0; - downloadAllAction = 0; - deleteSelectedAction = 0; - deleteAllAction = 0; - cameraInfoAction = 0; + busy = false; + closed = false; + helpMenu = 0; + advBox = 0; + downloadMenu = 0; + deleteMenu = 0; + imageMenu = 0; + cancelBtn = 0; + splitter = 0; + rightSidebar = 0; + fixDateTimeCheck = 0; + autoRotateCheck = 0; + autoAlbumDateCheck = 0; + autoAlbumExtCheck = 0; + status = 0; + progress = 0; + controller = 0; + view = 0; + renameCustomizer = 0; + anim = 0; + dateTimeEdit = 0; + setPhotographerId = 0; + setCredits = 0; + losslessFormat = 0; + convertJpegCheck = 0; + formatLabel = 0; + folderDateLabel = 0; + folderDateFormat = 0; + increaseThumbsAction = 0; + decreaseThumbsAction = 0; + downloadSelectedAction = 0; + downloadDelSelectedAction = 0; + downloadAllAction = 0; + downloadDelAllAction = 0; + deleteSelectedAction = 0; + deleteAllAction = 0; + cameraInfoAction = 0; } bool busy; @ -187,7 +189,9 @ QAction *increaseThumbsAction; QAction *decreaseThumbsAction; QAction *downloadSelectedAction; + QAction *downloadDelSelectedAction; QAction *downloadAllAction; + QAction *downloadDelAllAction; QAction *deleteSelectedAction; QAction *deleteAllAction; QAction *cameraInfoAction; @ -449,14 +453,20 @ // ------------------------------------------------------------------------- - d->downloadMenu = new QMenu(this); - d->downloadSelectedAction = - d->downloadMenu->addAction(i18n("Download Selected"), this, SLOT(slotDownloadSelected())); - d->downloadAllAction = - d->downloadMenu->addAction(i18n("Download All"), this, SLOT(slotDownloadAll())); + d->downloadMenu = new QMenu(this); + d->downloadSelectedAction = d->downloadMenu->addAction(i18n("Download Selected"), + this, SLOT(slotDownloadSelected())); + d->downloadAllAction = d->downloadMenu->addAction(i18n("Download All"), + this, SLOT(slotDownloadAll())); d->downloadMenu->addSeparator(); - d->downloadMenu->addAction(i18n("Upload..."), this, SLOT(slotUpload())); + d->downloadDelSelectedAction = d->downloadMenu->addAction(i18n("Download/Delete Selected"), + this, SLOT(slotDownloadAndDeleteSelected())); + d->downloadDelAllAction = d->downloadMenu->addAction(i18n("Download/Delete All"), + this, SLOT(slotDownloadAll())); + d->downloadMenu->addSeparator(); + d->downloadMenu->addAction(i18n("Upload..."), this, SLOT(slotUpload())); d->downloadSelectedAction->setEnabled(false); + d->downloadDelSelectedAction->setEnabled(false); button(User2)->setMenu(d->downloadMenu); // ------------------------------------------------------------------------- @ -511,6 +521,9 @ connect(d->view, SIGNAL(signalDownload()), this, SLOT(slotDownloadSelected())); + connect(d->view, SIGNAL(signalDownloadAndDelete()), + this, SLOT(slotDownloadAndDeleteSelected())); + connect(d->view, SIGNAL(signalDelete()), this, SLOT(slotDeleteSelected())); @ -1082,16 +1095,26 @ void CameraUI::slotDownloadSelected() { - slotDownload(true); + slotDownload(true, false); } +void CameraUI::slotDownloadAndDeleteSelected() +{ + slotDownload(true, true); +} + void CameraUI::slotDownloadAll() { - slotDownload(false); + slotDownload(false, false); } -void CameraUI::slotDownload(bool onlySelected) +void CameraUI::slotDownloadAndDeleteAll() { + slotDownload(false, true); +} + +void CameraUI::slotDownload(bool onlySelected, bool deleteAfter) +{ // -- Get the destination album from digiKam library --------------- AlbumManager* man = AlbumManager::componentData(); @ -1264,6 +1287,14 @ // disable settings tab here instead of slotBusy: // Only needs to be disabled while downloading d->advBox->setEnabled(false); + + if (deleteAfter) + { + if (onlySelected) + slotDeleteSelected(); + else + slotDeleteAll(); + } } void CameraUI::slotDownloaded(const QString& folder, const QString& file, int status) @ -1548,6 +1579,8 @ // So do not allow Download All if there is a selection! d->downloadSelectedAction->setEnabled(hasSelection); d->downloadAllAction->setEnabled(!hasSelection); + d->downloadDelSelectedAction->setEnabled(hasSelection); + d->downloadDelAllAction->setEnabled(!hasSelection); } else { @ -1556,12 +1589,15 @ // This is the easiest default for new users d->downloadSelectedAction->setEnabled(hasSelection); d->downloadAllAction->setEnabled(true); + d->downloadDelSelectedAction->setEnabled(hasSelection); + d->downloadDelAllAction->setEnabled(true); } } void CameraUI::slotItemsSelected(CameraIconViewItem* item, bool selected) { d->downloadSelectedAction->setEnabled(selected); + d->downloadDelSelectedAction->setEnabled(selected); d->deleteSelectedAction->setEnabled(selected); if (selected) --- trunk/extragear/graphics/digikam/utilities/cameragui/cameraui.h #705059:705060 @ -112,8 +112,10 @ void slotUploadItems(const KUrl::List&); void slotDownloadSelected(); void slotDownloadAll(); - void slotDownload(bool onlySelected); + void slotDownloadAndDeleteAll(); + void slotDownload(bool onlySelected, bool deleteAfter); void slotDeleteSelected(); + void slotDownloadAndDeleteSelected(); void slotDeleteAll(); void slotToggleLock(); _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |