File Browser context menu improvements (issue 781)

This commit is contained in:
michael
2011-06-23 22:33:17 -04:00
parent 303a7ad149
commit 4dd7a47040
8 changed files with 198 additions and 54 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -72,7 +72,7 @@ FILEBROWSER_CURRENT_NAME;Current name:
FILEBROWSER_DARKFRAME;Dark frame FILEBROWSER_DARKFRAME;Dark frame
FILEBROWSER_DELETEDLGLABEL;File delete confirmation FILEBROWSER_DELETEDLGLABEL;File delete confirmation
FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files? 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_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files INCLUDING a Queue processed version?
FILEBROWSER_EMPTYTRASH;Empty Trash FILEBROWSER_EMPTYTRASH;Empty Trash
FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files of the trash FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files of the trash
FILEBROWSER_EXIFFILTERAPPLY;Apply FILEBROWSER_EXIFFILTERAPPLY;Apply
@@ -95,18 +95,21 @@ FILEBROWSER_POPUPCOLORLABEL3;Label: Green
FILEBROWSER_POPUPCOLORLABEL4;Label: Blue FILEBROWSER_POPUPCOLORLABEL4;Label: Blue
FILEBROWSER_POPUPCOLORLABEL5;Label: Purple FILEBROWSER_POPUPCOLORLABEL5;Label: Purple
FILEBROWSER_POPUPCOPYTO;Copy to... FILEBROWSER_POPUPCOPYTO;Copy to...
FILEBROWSER_POPUPFILEOPERATIONS;File Operations
FILEBROWSER_POPUPMOVEEND;Move to end of queue FILEBROWSER_POPUPMOVEEND;Move to end of queue
FILEBROWSER_POPUPMOVEHEAD;Move to head of queue FILEBROWSER_POPUPMOVEHEAD;Move to head of queue
FILEBROWSER_POPUPMOVETO;Move to... FILEBROWSER_POPUPMOVETO;Move to...
FILEBROWSER_POPUPOPEN;Open FILEBROWSER_POPUPOPEN;Open
FILEBROWSER_POPUPPROCESS;Put to processing queue FILEBROWSER_POPUPPROCESS;Put to Queue
FILEBROWSER_POPUPPROFILEOPERATIONS;Profile Operations
FILEBROWSER_POPUPRANK;Rank
FILEBROWSER_POPUPRANK1;Rank 1 * FILEBROWSER_POPUPRANK1;Rank 1 *
FILEBROWSER_POPUPRANK2;Rank 2 ** FILEBROWSER_POPUPRANK2;Rank 2 **
FILEBROWSER_POPUPRANK3;Rank 3 *** FILEBROWSER_POPUPRANK3;Rank 3 ***
FILEBROWSER_POPUPRANK4;Rank 4 **** FILEBROWSER_POPUPRANK4;Rank 4 ****
FILEBROWSER_POPUPRANK5;Rank 5 ***** FILEBROWSER_POPUPRANK5;Rank 5 *****
FILEBROWSER_POPUPREMOVE;Remove from filesystem FILEBROWSER_POPUPREMOVE;Delete
FILEBROWSER_POPUPREMOVEINCLPROC;Remove from filesystem & batch result FILEBROWSER_POPUPREMOVEINCLPROC;Delete (with output from queue)
FILEBROWSER_POPUPREMOVESUBMENU;Remove FILEBROWSER_POPUPREMOVESUBMENU;Remove
FILEBROWSER_POPUPRENAME;Rename FILEBROWSER_POPUPRENAME;Rename
FILEBROWSER_POPUPSELECTALL;Select all FILEBROWSER_POPUPSELECTALL;Select all
@@ -387,14 +390,14 @@ IPTCPANEL_TRANSREFERENCEHINT;A code representing the location of original transm
MAIN_BUTTON_EXIT;Exit MAIN_BUTTON_EXIT;Exit
MAIN_BUTTON_FULLSCREEN;Fullscreen MAIN_BUTTON_FULLSCREEN;Fullscreen
MAIN_BUTTON_PREFERENCES;Preferences MAIN_BUTTON_PREFERENCES;Preferences
MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue <b>Ctrl+Q</b> MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Put current image to processing queue <b>Ctrl+Q</b>
MAIN_BUTTON_QUEUE;Put to queue MAIN_BUTTON_QUEUE;Put to Queue
MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b> MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b>
MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b> MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b>
MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Show/hide all side panels <b>m</b> MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Show/hide all side panels <b>m</b>
MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen
MAIN_FRAME_BATCHQUEUE;Batch Queue MAIN_FRAME_BATCHQUEUE;Queue
MAIN_FRAME_BATCHQUEUE_TOOLTIP; Batch Queue <b>Ctrl-F3</b> MAIN_FRAME_BATCHQUEUE_TOOLTIP; Processing Queue <b>Ctrl-F3</b>
MAIN_FRAME_EDITOR;Editor MAIN_FRAME_EDITOR;Editor
MAIN_FRAME_EDITOR_TOOLTIP; Editor <b>Ctrl-F4</b> MAIN_FRAME_EDITOR_TOOLTIP; Editor <b>Ctrl-F4</b>
MAIN_FRAME_FILEBROWSER;File Browser MAIN_FRAME_FILEBROWSER;File Browser
@@ -593,6 +596,11 @@ PREFERENCES_INTENT_RELATIVE;Relative Colorimetric
PREFERENCES_INTENT_SATURATION;Saturation PREFERENCES_INTENT_SATURATION;Saturation
PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show RAW internal thumbnail if unedited PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show RAW internal thumbnail if unedited
PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower) PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower)
PREFERENCES_MENUOPTIONS;Menu Options
PREFERENCES_MENUGROUPRANK;Group Ranking
PREFERENCES_MENUGROUPLABEL;Group Labeling
PREFERENCES_MENUGROUPFILEOPERATIONS;Group File Operations
PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group Profile Operations
PREFERENCES_METADATA;Metadata PREFERENCES_METADATA;Metadata
PREFERENCES_MONITORICC;Monitor Profile PREFERENCES_MONITORICC;Monitor Profile
PREFERENCES_MULTITAB;Multiple tabs mode PREFERENCES_MULTITAB;Multiple tabs mode
@@ -631,7 +639,7 @@ PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
PREFERENCES_SINGLETAB;Single tab mode PREFERENCES_SINGLETAB;Single tab mode
PREFERENCES_SINGLETABVERTAB;Single tab mode, vertical tabs PREFERENCES_SINGLETABVERTAB;Single tab mode, vertical tabs
PREFERENCES_SLIMUI;Slim interface PREFERENCES_SLIMUI;Slim interface
PREFERENCES_SND_BATCHQUEUEDONE;Batch queue done PREFERENCES_SND_BATCHQUEUEDONE;Queue processing done
PREFERENCES_SND_HELP;Either enter filepath or nothing (for no sound). On Windows use "SystemDefault", "SystemAsterisk" etc. for system sounds. PREFERENCES_SND_HELP;Either enter filepath or nothing (for no sound). On Windows use "SystemDefault", "SystemAsterisk" etc. for system sounds.
PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done
PREFERENCES_SND_TRESHOLDSECS;after secs PREFERENCES_SND_TRESHOLDSECS;after secs

View File

@@ -45,52 +45,135 @@ FileBrowser::FileBrowser ()
int p = 0; int p = 0;
pmenu = new Gtk::Menu (); pmenu = new Gtk::Menu ();
pmenu->attach (*Gtk::manage(open = new Gtk::MenuItem (M("FILEBROWSER_POPUPOPEN"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(open = new Gtk::MenuItem (M("FILEBROWSER_POPUPOPEN"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(develop = new Gtk::MenuItem (M("FILEBROWSER_POPUPPROCESS"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(develop = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPPROCESS"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; develop->set_image(*Gtk::manage(new Gtk::Image (argv0+"/images/processing.png")));
pmenu->attach (*Gtk::manage(rank[0] = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNRANK"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rank[1] = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK1"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rank[2] = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK2"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rank[3] = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK3"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rank[4] = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK4"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rank[5] = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK5"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[0] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL0"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[1] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL1"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[2] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL2"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[3] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL3"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[4] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL4"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(colorlabel[5] = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPCOLORLABEL5"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(selall = new Gtk::MenuItem (M("FILEBROWSER_POPUPSELECTALL"))), 0, 1, p, p+1); p++;
/***********************
* rank
***********************/
if (options.menuGroupRank){
pmenu->attach (*Gtk::manage(menuRank = new Gtk::MenuItem (M("FILEBROWSER_POPUPRANK"))), 0, 1, p, p+1); p++;
Gtk::Menu* submenuRank = Gtk::manage (new Gtk::Menu ());
submenuRank->attach (*Gtk::manage(rank[0] = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNRANK"))), 0, 1, p, p+1); p++;
for (int i=1; i<=5; i++){
submenuRank->attach (*Gtk::manage(rank[i] = new Gtk::MenuItem (M(Glib::ustring::compose("%1%2","FILEBROWSER_POPUPRANK",i)))), 0, 1, p, p+1); p++;
}
submenuRank->show_all ();
menuRank->set_submenu (*submenuRank);
}
else{
pmenu->attach (*Gtk::manage(rank[0] = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNRANK"))), 0, 1, p, p+1); p++;
for (int i=1; i<=5; i++){
pmenu->attach (*Gtk::manage(rank[i] = new Gtk::MenuItem (M(Glib::ustring::compose("%1%2","FILEBROWSER_POPUPRANK",i)))), 0, 1, p, p+1); p++;
}
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
}
if (!options.menuGroupRank || !options.menuGroupLabel) // separate Rank and Color Labels if either is not grouped
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
/***********************
* color labels
***********************/
if (options.menuGroupLabel){
pmenu->attach (*Gtk::manage(menuLabel = new Gtk::MenuItem (M("FILEBROWSER_POPUPCOLORLABEL"))), 0, 1, p, p+1); p++;
Gtk::Menu* submenuLabel = Gtk::manage (new Gtk::Menu ());
for (int i=0; i<=5; i++){
submenuLabel->attach (*Gtk::manage(colorlabel[i] = new Gtk::ImageMenuItem (M(Glib::ustring::compose("%1%2","FILEBROWSER_POPUPCOLORLABEL",i)))), 0, 1, p, p+1); p++;
}
submenuLabel->show_all ();
menuLabel->set_submenu (*submenuLabel);
}
else{
for (int i=0; i<=5; i++){
pmenu->attach (*Gtk::manage(colorlabel[i] = new Gtk::ImageMenuItem (M(Glib::ustring::compose("%1%2","FILEBROWSER_POPUPCOLORLABEL",i)))), 0, 1, p, p+1); p++;
}
}
for (int i=1; i<=5; i++){//set color label images for (int i=1; i<=5; i++){//set color label images
colorlabel[i]->set_image(*Gtk::manage(new Gtk::Image (Glib::ustring::compose("%1%2%3%4",argv0,"/images/clabel",i,".png")))); colorlabel[i]->set_image(*Gtk::manage(new Gtk::Image (Glib::ustring::compose("%1%2%3%4",argv0,"/images/clabel",i,".png"))));
} }
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(trash = new Gtk::MenuItem (M("FILEBROWSER_POPUPTRASH"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(untrash = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNTRASH"))), 0, 1, p, p+1); p++; /***********************
* File Operations
* *********************/
if (options.menuGroupFileOperations){
pmenu->attach (*Gtk::manage(menuFileOperations = new Gtk::MenuItem (M("FILEBROWSER_POPUPFILEOPERATIONS"))), 0, 1, p, p+1); p++;
Gtk::Menu* submenuFileOperations = Gtk::manage (new Gtk::Menu ());
submenuFileOperations->attach (*Gtk::manage(trash = new Gtk::MenuItem (M("FILEBROWSER_POPUPTRASH"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(untrash = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNTRASH"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(rename = new Gtk::MenuItem (M("FILEBROWSER_POPUPRENAME"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(remove = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVE"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(removeInclProc = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVEINCLPROC"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(copyTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPCOPYTO"))), 0, 1, p, p+1); p++;
submenuFileOperations->attach (*Gtk::manage(moveTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPMOVETO"))), 0, 1, p, p+1); p++;
submenuFileOperations->show_all ();
menuFileOperations->set_submenu (*submenuFileOperations);
}
else{
pmenu->attach (*Gtk::manage(trash = new Gtk::MenuItem (M("FILEBROWSER_POPUPTRASH"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(untrash = new Gtk::MenuItem (M("FILEBROWSER_POPUPUNTRASH"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rename = new Gtk::MenuItem (M("FILEBROWSER_POPUPRENAME"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(remove = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(removeInclProc = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVEINCLPROC"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(copyTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPCOPYTO"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(moveTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPMOVETO"))), 0, 1, p, p+1); p++;
}
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(rename = new Gtk::MenuItem (M("FILEBROWSER_POPUPRENAME"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(remove = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVE"))), 0, 1, p, p+1); p++; /***********************
pmenu->attach (*Gtk::manage(removeInclProc = new Gtk::MenuItem (M("FILEBROWSER_POPUPREMOVEINCLPROC"))), 0, 1, p, p+1); p++; * Profile Operations
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; * *********************/
pmenu->attach (*Gtk::manage(selall = new Gtk::MenuItem (M("FILEBROWSER_POPUPSELECTALL"))), 0, 1, p, p+1); p++; if (options.menuGroupProfileOperations){
pmenu->attach (*Gtk::manage(copyTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPCOPYTO"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(menuProfileOperations = new Gtk::ImageMenuItem (M("FILEBROWSER_POPUPPROFILEOPERATIONS"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(moveTo = new Gtk::MenuItem (M("FILEBROWSER_POPUPMOVETO"))), 0, 1, p, p+1); p++; menuProfileOperations->set_image(*Gtk::manage(new Gtk::Image (argv0+"/images/logoicon_wind_16.png")));
Gtk::Menu* submenuProfileOperations = Gtk::manage (new Gtk::Menu ());
submenuProfileOperations->attach (*Gtk::manage(copyprof = new Gtk::MenuItem (M("FILEBROWSER_COPYPROFILE"))), 0, 1, p, p+1); p++;
submenuProfileOperations->attach (*Gtk::manage(pasteprof = new Gtk::MenuItem (M("FILEBROWSER_PASTEPROFILE"))), 0, 1, p, p+1); p++;
submenuProfileOperations->attach (*Gtk::manage(partpasteprof = new Gtk::MenuItem (M("FILEBROWSER_PARTIALPASTEPROFILE"))), 0, 1, p, p+1); p++;
submenuProfileOperations->attach (*Gtk::manage(applyprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE"))), 0, 1, p, p+1); p++;
submenuProfileOperations->attach (*Gtk::manage(applypartprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE_PARTIAL"))), 0, 1, p, p+1); p++;
submenuProfileOperations->attach (*Gtk::manage(clearprof = new Gtk::MenuItem (M("FILEBROWSER_CLEARPROFILE"))), 0, 1, p, p+1); p++;
submenuProfileOperations->show_all ();
menuProfileOperations->set_submenu (*submenuProfileOperations);
}
else{
pmenu->attach (*Gtk::manage(copyprof = new Gtk::MenuItem (M("FILEBROWSER_COPYPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(pasteprof = new Gtk::MenuItem (M("FILEBROWSER_PASTEPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(partpasteprof = new Gtk::MenuItem (M("FILEBROWSER_PARTIALPASTEPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(applyprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(applypartprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE_PARTIAL"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(clearprof = new Gtk::MenuItem (M("FILEBROWSER_CLEARPROFILE"))), 0, 1, p, p+1); p++;
}
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(menuDF = new Gtk::MenuItem (M("FILEBROWSER_DARKFRAME"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(menuDF = new Gtk::MenuItem (M("FILEBROWSER_DARKFRAME"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(menuFF = new Gtk::MenuItem (M("FILEBROWSER_FLATFIELD"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(menuFF = new Gtk::MenuItem (M("FILEBROWSER_FLATFIELD"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(copyprof = new Gtk::MenuItem (M("FILEBROWSER_COPYPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(pasteprof = new Gtk::MenuItem (M("FILEBROWSER_PASTEPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(partpasteprof = new Gtk::MenuItem (M("FILEBROWSER_PARTIALPASTEPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(applyprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(applypartprof = new Gtk::MenuItem (M("FILEBROWSER_APPLYPROFILE_PARTIAL"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(clearprof = new Gtk::MenuItem (M("FILEBROWSER_CLEARPROFILE"))), 0, 1, p, p+1); p++;
pmenu->attach (*Gtk::manage(cachemenu = new Gtk::MenuItem (M("FILEBROWSER_CACHE"))), 0, 1, p, p+1); p++; pmenu->attach (*Gtk::manage(cachemenu = new Gtk::MenuItem (M("FILEBROWSER_CACHE"))), 0, 1, p, p+1); p++;
pmenu->show_all (); pmenu->show_all ();
/***********************
* Accelerators
* *********************/
pmaccelgroup = Gtk::AccelGroup::create (); pmaccelgroup = Gtk::AccelGroup::create ();
pmenu->set_accel_group (pmaccelgroup); pmenu->set_accel_group (pmaccelgroup);
selall->add_accelerator ("activate", pmenu->get_accel_group(), GDK_a, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE); selall->add_accelerator ("activate", pmenu->get_accel_group(), GDK_a, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
@@ -163,18 +246,19 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry) {
applyprof->set_submenu (*applmenu); applyprof->set_submenu (*applmenu);
// submenu applpartmenu // submenu applpartmenu
p = 0; p = 0;
Gtk::Menu* applpartmenu = Gtk::manage (new Gtk::Menu ()); Gtk::Menu* applpartmenu = Gtk::manage (new Gtk::Menu ());
//std::vector<Glib::ustring> profnames = profileStore.getProfileNames (); // this is already created for submenu applmenu above //std::vector<Glib::ustring> profnames = profileStore.getProfileNames (); // this is already created for submenu applmenu above
for (int i=0; i<profnames.size(); i++) { for (int i=0; i<profnames.size(); i++) {
Gtk::MenuItem* mi = Gtk::manage (new Gtk::MenuItem (profnames[i])); Gtk::MenuItem* mi = Gtk::manage (new Gtk::MenuItem (profnames[i]));
applpartmenu->attach (*mi, 0, 1, p, p+1); p++; applpartmenu->attach (*mi, 0, 1, p, p+1); p++;
mi->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::applyPartialMenuItemActivated), profnames[i])); mi->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::applyPartialMenuItemActivated), profnames[i]));
mi->show (); mi->show ();
} }
applypartprof->set_submenu (*applpartmenu); applypartprof->set_submenu (*applpartmenu);
// submenuDF // submenuDF
p = 0;
Gtk::Menu* submenuDF = Gtk::manage (new Gtk::Menu ()); Gtk::Menu* submenuDF = Gtk::manage (new Gtk::Menu ());
submenuDF->attach (*Gtk::manage(selectDF = new Gtk::MenuItem (M("FILEBROWSER_SELECTDARKFRAME"))), 0, 1, p, p+1); p++; submenuDF->attach (*Gtk::manage(selectDF = new Gtk::MenuItem (M("FILEBROWSER_SELECTDARKFRAME"))), 0, 1, p, p+1); p++;
submenuDF->attach (*Gtk::manage(autoDF = new Gtk::MenuItem (M("FILEBROWSER_AUTODARKFRAME"))), 0, 1, p, p+1); p++; submenuDF->attach (*Gtk::manage(autoDF = new Gtk::MenuItem (M("FILEBROWSER_AUTODARKFRAME"))), 0, 1, p, p+1); p++;
@@ -186,6 +270,7 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry) {
menuDF->set_submenu (*submenuDF); menuDF->set_submenu (*submenuDF);
// submenuFF // submenuFF
p = 0;
Gtk::Menu* submenuFF = Gtk::manage (new Gtk::Menu ()); Gtk::Menu* submenuFF = Gtk::manage (new Gtk::Menu ());
submenuFF->attach (*Gtk::manage(selectFF = new Gtk::MenuItem (M("FILEBROWSER_SELECTFLATFIELD"))), 0, 1, p, p+1); p++; submenuFF->attach (*Gtk::manage(selectFF = new Gtk::MenuItem (M("FILEBROWSER_SELECTFLATFIELD"))), 0, 1, p, p+1); p++;
submenuFF->attach (*Gtk::manage(autoFF = new Gtk::MenuItem (M("FILEBROWSER_AUTOFLATFIELD"))), 0, 1, p, p+1); p++; submenuFF->attach (*Gtk::manage(autoFF = new Gtk::MenuItem (M("FILEBROWSER_AUTOFLATFIELD"))), 0, 1, p, p+1); p++;

View File

@@ -56,7 +56,7 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
Gtk::ImageMenuItem* colorlabel[6]; Gtk::ImageMenuItem* colorlabel[6];
Gtk::MenuItem* trash; Gtk::MenuItem* trash;
Gtk::MenuItem* untrash; Gtk::MenuItem* untrash;
Gtk::MenuItem* develop; Gtk::ImageMenuItem* develop;
Gtk::MenuItem* rename; Gtk::MenuItem* rename;
Gtk::MenuItem* remove; Gtk::MenuItem* remove;
Gtk::MenuItem* removeInclProc; Gtk::MenuItem* removeInclProc;
@@ -65,6 +65,10 @@ class FileBrowser : public ThumbBrowserBase, public LWButtonListener {
Gtk::MenuItem* copyTo; Gtk::MenuItem* copyTo;
Gtk::MenuItem* moveTo; Gtk::MenuItem* moveTo;
Gtk::MenuItem* menuRank;
Gtk::MenuItem* menuLabel;
Gtk::MenuItem* menuFileOperations;
Gtk::ImageMenuItem* menuProfileOperations;
Gtk::MenuItem* menuDF; Gtk::MenuItem* menuDF;
Gtk::MenuItem* selectDF; Gtk::MenuItem* selectDF;
Gtk::MenuItem* thisIsDF; Gtk::MenuItem* thisIsDF;

View File

@@ -139,6 +139,10 @@ void Options::setDefaults () {
histogramPosition = 2; histogramPosition = 2;
showProfileSelector = true; showProfileSelector = true;
FileBrowserToolbarSingleRow = true; FileBrowserToolbarSingleRow = true;
menuGroupRank = true;
menuGroupLabel = true;
menuGroupFileOperations = true;
menuGroupProfileOperations = true;
cutOverlayBrush = std::vector<double> (4); cutOverlayBrush = std::vector<double> (4);
cutOverlayBrush[3] = 0.667; // :-p cutOverlayBrush[3] = 0.667; // :-p
@@ -317,6 +321,10 @@ if (keyFile.has_group ("File Browser")) {
if (keyFile.has_key ("File Browser", "OverlayedFileNames")) overlayedFileNames = keyFile.get_boolean ("File Browser", "OverlayedFileNames"); if (keyFile.has_key ("File Browser", "OverlayedFileNames")) overlayedFileNames = keyFile.get_boolean ("File Browser", "OverlayedFileNames");
if (keyFile.has_key ("File Browser", "ShowFileNames")) showFileNames = keyFile.get_boolean ("File Browser", "ShowFileNames"); if (keyFile.has_key ("File Browser", "ShowFileNames")) showFileNames = keyFile.get_boolean ("File Browser", "ShowFileNames");
if (keyFile.has_key ("File Browser", "InternalThumbIfUntouched")) internalThumbIfUntouched = keyFile.get_boolean ("File Browser", "InternalThumbIfUntouched"); if (keyFile.has_key ("File Browser", "InternalThumbIfUntouched")) internalThumbIfUntouched = keyFile.get_boolean ("File Browser", "InternalThumbIfUntouched");
if (keyFile.has_key ("File Browser", "menuGroupRank")) menuGroupRank = keyFile.get_boolean ("File Browser", "menuGroupRank");
if (keyFile.has_key ("File Browser", "menuGroupLabel")) menuGroupLabel = keyFile.get_boolean ("File Browser", "menuGroupLabel");
if (keyFile.has_key ("File Browser", "menuGroupFileOperations")) menuGroupFileOperations = keyFile.get_boolean ("File Browser", "menuGroupFileOperations");
if (keyFile.has_key ("File Browser", "menuGroupProfileOperations")) menuGroupProfileOperations = keyFile.get_boolean ("File Browser", "menuGroupProfileOperations");
} }
if (keyFile.has_group ("Clipping Indication")) { if (keyFile.has_group ("Clipping Indication")) {
@@ -450,6 +458,10 @@ int Options::saveToFile (Glib::ustring fname) {
keyFile.set_boolean ("File Browser", "OverlayedFileNames", overlayedFileNames); keyFile.set_boolean ("File Browser", "OverlayedFileNames", overlayedFileNames);
keyFile.set_boolean ("File Browser", "ShowFileNames", showFileNames ); keyFile.set_boolean ("File Browser", "ShowFileNames", showFileNames );
keyFile.set_boolean ("File Browser", "InternalThumbIfUntouched", internalThumbIfUntouched ); keyFile.set_boolean ("File Browser", "InternalThumbIfUntouched", internalThumbIfUntouched );
keyFile.set_boolean ("File Browser", "menuGroupRank", menuGroupRank);
keyFile.set_boolean ("File Browser", "menuGroupLabel", menuGroupLabel);
keyFile.set_boolean ("File Browser", "menuGroupFileOperations", menuGroupFileOperations);
keyFile.set_boolean ("File Browser", "menuGroupProfileOperations", menuGroupProfileOperations);
keyFile.set_integer ("Clipping Indication", "HighlightThreshold", highlightThreshold); keyFile.set_integer ("Clipping Indication", "HighlightThreshold", highlightThreshold);
keyFile.set_integer ("Clipping Indication", "ShadowThreshold", shadowThreshold); keyFile.set_integer ("Clipping Indication", "ShadowThreshold", shadowThreshold);

View File

@@ -148,6 +148,11 @@ class Options {
bool showProfileSelector; bool showProfileSelector;
bool FileBrowserToolbarSingleRow; bool FileBrowserToolbarSingleRow;
bool menuGroupRank;
bool menuGroupLabel;
bool menuGroupFileOperations;
bool menuGroupProfileOperations;
Options (); Options ();
Options* copyFrom (Options* other); Options* copyFrom (Options* other);

View File

@@ -708,6 +708,23 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
fro->add (*vbro); fro->add (*vbro);
Gtk::Frame* frmnu = Gtk::manage( new Gtk::Frame (M("PREFERENCES_MENUOPTIONS")) );
ckbmenuGroupRank = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_MENUGROUPRANK")) );
ckbmenuGroupLabel = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_MENUGROUPLABEL")) );
ckbmenuGroupFileOperations = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_MENUGROUPFILEOPERATIONS")) );
ckbmenuGroupProfileOperations = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_MENUGROUPPROFILEOPERATIONS")) );
Gtk::VBox* vbmnu = Gtk::manage( new Gtk::VBox () );
vbmnu->set_border_width (4);
vbmnu->pack_start (*ckbmenuGroupRank, Gtk::PACK_SHRINK, 0);
vbmnu->pack_start (*ckbmenuGroupLabel, Gtk::PACK_SHRINK, 0);
vbmnu->pack_start (*ckbmenuGroupFileOperations, Gtk::PACK_SHRINK, 0);
vbmnu->pack_start (*ckbmenuGroupProfileOperations, Gtk::PACK_SHRINK, 0);
frmnu->add (*vbmnu);
Gtk::Frame* fre = Gtk::manage( new Gtk::Frame (M("PREFERENCES_PARSEDEXT")) ); Gtk::Frame* fre = Gtk::manage( new Gtk::Frame (M("PREFERENCES_PARSEDEXT")) );
Gtk::VBox* vbre = Gtk::manage( new Gtk::VBox () ); Gtk::VBox* vbre = Gtk::manage( new Gtk::VBox () );
vbre->set_border_width (4); vbre->set_border_width (4);
@@ -747,6 +764,7 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
vbc->set_border_width (4); vbc->set_border_width (4);
Gtk::Label* cflab = Gtk::manage( new Gtk::Label (M("PREFERENCES_CACHETHUMBFORM")+":") ); Gtk::Label* cflab = Gtk::manage( new Gtk::Label (M("PREFERENCES_CACHETHUMBFORM")+":") );
cflab->set_alignment(Gtk::ALIGN_LEFT, Gtk::ALIGN_TOP);
cformat = Gtk::manage( new Gtk::ComboBoxText () ); cformat = Gtk::manage( new Gtk::ComboBoxText () );
cformat->set_size_request(50, -1); cformat->set_size_request(50, -1);
cformat->append_text (M("PREFERENCES_CACHEFORMAT1")); cformat->append_text (M("PREFERENCES_CACHEFORMAT1"));
@@ -754,10 +772,8 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
cformat->append_text (M("PREFERENCES_CACHEFORMAT1")+", 16 bit"); cformat->append_text (M("PREFERENCES_CACHEFORMAT1")+", 16 bit");
cformat->signal_changed().connect( sigc::mem_fun(*this, &Preferences::cacheFormatComboChanged) ); cformat->signal_changed().connect( sigc::mem_fun(*this, &Preferences::cacheFormatComboChanged) );
cacheFormatComboChanged(); // update the tooltip cacheFormatComboChanged(); // update the tooltip
Gtk::HBox* hb2 = Gtk::manage( new Gtk::HBox () ); vbc->pack_start (*cflab, Gtk::PACK_SHRINK, 2);
hb2->pack_start (*cflab, Gtk::PACK_SHRINK, 4); vbc->pack_start (*cformat);
hb2->pack_start (*cformat);
vbc->pack_start (*hb2, Gtk::PACK_SHRINK, 4);
Gtk::HBox* hb3 = Gtk::manage( new Gtk::HBox () ); Gtk::HBox* hb3 = Gtk::manage( new Gtk::HBox () );
Gtk::Label* chlab = Gtk::manage( new Gtk::Label (M("PREFERENCES_CACHETHUMBHEIGHT")+":") ); Gtk::Label* chlab = Gtk::manage( new Gtk::Label (M("PREFERENCES_CACHETHUMBHEIGHT")+":") );
@@ -794,6 +810,7 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
Gtk::VBox* vb6 = Gtk::manage( new Gtk::VBox () ); Gtk::VBox* vb6 = Gtk::manage( new Gtk::VBox () );
vb6->pack_start (*fro); vb6->pack_start (*fro);
vb6->pack_start (*frmnu);
vb6->pack_end (*frc); vb6->pack_end (*frc);
hb6->pack_start (*vb6); hb6->pack_start (*vb6);
hb6->pack_start (*fre); hb6->pack_start (*fre);
@@ -885,6 +902,10 @@ void Preferences::storePreferences () {
moptions.dateFormat = dateformat->get_text(); moptions.dateFormat = dateformat->get_text();
moptions.fbShowDateTime = showDateTime->get_active (); moptions.fbShowDateTime = showDateTime->get_active ();
moptions.fbShowBasicExif = showBasicExif->get_active (); moptions.fbShowBasicExif = showBasicExif->get_active ();
moptions.menuGroupRank = ckbmenuGroupRank->get_active();
moptions.menuGroupLabel = ckbmenuGroupLabel->get_active();
moptions.menuGroupFileOperations = ckbmenuGroupFileOperations->get_active();
moptions.menuGroupProfileOperations = ckbmenuGroupProfileOperations->get_active();
moptions.blinkClipped = blinkClipped->get_active (); moptions.blinkClipped = blinkClipped->get_active ();
moptions.highlightThreshold = (int)hlThresh->get_value (); moptions.highlightThreshold = (int)hlThresh->get_value ();
moptions.shadowThreshold = (int)shThresh->get_value (); moptions.shadowThreshold = (int)shThresh->get_value ();
@@ -1019,6 +1040,10 @@ void Preferences::fillPreferences () {
fontbutton->set_font_name(moptions.font); fontbutton->set_font_name(moptions.font);
showDateTime->set_active (moptions.fbShowDateTime); showDateTime->set_active (moptions.fbShowDateTime);
showBasicExif->set_active (moptions.fbShowBasicExif); showBasicExif->set_active (moptions.fbShowBasicExif);
ckbmenuGroupRank->set_active(moptions.menuGroupRank);
ckbmenuGroupLabel->set_active(moptions.menuGroupLabel);
ckbmenuGroupFileOperations->set_active(moptions.menuGroupFileOperations);
ckbmenuGroupProfileOperations->set_active(moptions.menuGroupProfileOperations);
blinkClipped->set_active (moptions.blinkClipped); blinkClipped->set_active (moptions.blinkClipped);
hlThresh->set_value (moptions.highlightThreshold); hlThresh->set_value (moptions.highlightThreshold);
shThresh->set_value (moptions.shadowThreshold); shThresh->set_value (moptions.shadowThreshold);

View File

@@ -103,6 +103,11 @@ class Preferences : public Gtk::Dialog {
Gtk::Button* delExt; Gtk::Button* delExt;
Gtk::CheckButton* overlayedFileNames; Gtk::CheckButton* overlayedFileNames;
Gtk::CheckButton* ckbmenuGroupRank;
Gtk::CheckButton* ckbmenuGroupLabel;
Gtk::CheckButton* ckbmenuGroupFileOperations;
Gtk::CheckButton* ckbmenuGroupProfileOperations;
Gtk::CheckButton* chOverwriteOutputFile; Gtk::CheckButton* chOverwriteOutputFile;
Gtk::CheckButton* saveParamsFile; Gtk::CheckButton* saveParamsFile;