Added command to remove raw including default batch processed. See issue #520

This commit is contained in:
Oliver Duis 2011-02-04 20:38:27 +01:00
parent 301c8fa2b6
commit c86a788843
5 changed files with 20 additions and 6 deletions

View File

@ -60,6 +60,7 @@ FILEBROWSER_COPYPROFILE;Copy profile
FILEBROWSER_CURRENT_NAME;Current name:
FILEBROWSER_DELETEDLGLABEL;File delete confirmation
FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files INCLUDING a batch processed version?
FILEBROWSER_EMPTYTRASH;Empty Trash
FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files of the trash
FILEBROWSER_EXIFFILTERAPPLY;Apply
@ -83,6 +84,7 @@ FILEBROWSER_POPUPRANK3;Rank 3
FILEBROWSER_POPUPRANK4;Rank 4
FILEBROWSER_POPUPRANK5;Rank 5
FILEBROWSER_POPUPREMOVE;Remove from filesystem
FILEBROWSER_POPUPREMOVEINCLPROC;Remove from filesystem incl. batch processed
FILEBROWSER_POPUPRENAME;Rename
FILEBROWSER_POPUPSELECTALL;Select all
FILEBROWSER_POPUPTRASH;Move to trash

View File

@ -2,6 +2,7 @@
* This file is part of RawTherapee.
*
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
* Copyright (c) 2011 Oliver Duis <www.oliverduis.de>
*
* RawTherapee is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -57,6 +58,7 @@ FileBrowser::FileBrowser ()
pmenu->attach (*(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*(rename = new Gtk::MenuItem (M("FILEBROWSER_POPUPRENAME"))), 0, 1, p, p+1); p++;
pmenu->attach (*(remove = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVE"))), 0, 1, p, p+1); p++;
pmenu->attach (*(removeInclProc = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVEINCLPROC"))), 0, 1, p, p+1); p++;
pmenu->attach (*(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*(selall = new Gtk::MenuItem (M("FILEBROWSER_POPUPSELECTALL"))), 0, 1, p, p+1); p++;
pmenu->attach (*(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
@ -95,6 +97,7 @@ FileBrowser::FileBrowser ()
develop->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), develop));
rename->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), rename));
remove->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), remove));
removeInclProc->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), removeInclProc));
selall->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selall));
selectDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selectDF));
autoDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), autoDF));
@ -286,7 +289,9 @@ void FileBrowser::menuItemActivated (Gtk::MenuItem* m) {
tbl->openRequested (entries);
}
else if (m==remove)
tbl->deleteRequested (mselected);
tbl->deleteRequested (mselected, false);
else if (m==removeInclProc)
tbl->deleteRequested (mselected, true);
else if (m==trash)
toTrashRequested (mselected);
else if (m==untrash)

View File

@ -34,7 +34,7 @@ class FileBrowserListener {
virtual void openRequested (std::vector<Thumbnail*> tbe) {}
virtual void developRequested (std::vector<FileBrowserEntry*> tbe) {}
virtual void renameRequested (std::vector<FileBrowserEntry*> tbe) {}
virtual void deleteRequested (std::vector<FileBrowserEntry*> tbe) {}
virtual void deleteRequested (std::vector<FileBrowserEntry*> tbe, bool inclBatchProcessed) {}
virtual void selectionChanged (std::vector<Thumbnail*> tbe) {}
};
@ -56,6 +56,7 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
Gtk::MenuItem* develop;
Gtk::MenuItem* rename;
Gtk::MenuItem* remove;
Gtk::MenuItem* removeInclProc;
Gtk::MenuItem* open;
Gtk::MenuItem* selall;
Gtk::MenuItem* selectDF;

View File

@ -27,6 +27,7 @@
#include <renamedlg.h>
#include <thumbimageupdater.h>
#include <safegtk.h>
#include <batchqueue.h>
#define CHECKTIME 2000
@ -516,13 +517,13 @@ void FileCatalog::openRequested (std::vector<Thumbnail*> tmb) {
g_idle_add (fcopenimg, params);
}
void FileCatalog::deleteRequested (std::vector<FileBrowserEntry*> tbe) {
void FileCatalog::deleteRequested (std::vector<FileBrowserEntry*> tbe, bool inclBatchProcessed) {
if (tbe.size()==0)
return;
Gtk::MessageDialog msd (M("FILEBROWSER_DELETEDLGLABEL"), false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, true);
msd.set_secondary_text(Glib::ustring::compose (M("FILEBROWSER_DELETEDLGMSG"), tbe.size()));
msd.set_secondary_text(Glib::ustring::compose ( inclBatchProcessed ? M("FILEBROWSER_DELETEDLGMSGINCLPROC") : M("FILEBROWSER_DELETEDLGMSG"), tbe.size()));
if (msd.run()==Gtk::RESPONSE_YES) {
for (unsigned int i=0; i<tbe.size(); i++) {
@ -541,6 +542,11 @@ void FileCatalog::deleteRequested (std::vector<FileBrowserEntry*> tbe) {
// delete .thm file
safe_g_remove (Glib::ustring(removeExtension(fname)+".thm"));
safe_g_remove (Glib::ustring(removeExtension(fname)+".THM"));
if (inclBatchProcessed) {
Glib::ustring procfName = Glib::ustring::compose ("%1.%2", BatchQueue::calcAutoFileNameBase(fname), options.saveFormat.format);
if (safe_file_test (procfName, Glib::FILE_TEST_EXISTS)) safe_g_remove (procfName);
}
}
redrawAll ();
}
@ -896,7 +902,7 @@ void FileCatalog::emptyTrash () {
for (size_t i=0; i<t.size(); i++)
if (((FileBrowserEntry*)t[i])->thumbnail->getStage()==1)
toDel.push_back (((FileBrowserEntry*)t[i]));
deleteRequested (toDel);
deleteRequested (toDel, false);
trashChanged();
}

View File

@ -161,7 +161,7 @@ class FileCatalog : public Gtk::VBox,
void refreshHeight ();
void openRequested (std::vector<Thumbnail*> tbe);
void deleteRequested (std::vector<FileBrowserEntry*> tbe);
void deleteRequested (std::vector<FileBrowserEntry*> tbe, bool inclBatchProcessed);
void developRequested (std::vector<FileBrowserEntry*> tbe);
void renameRequested (std::vector<FileBrowserEntry*> tbe);
void selectionChanged (std::vector<Thumbnail*> tbe);