f.widgets.cc (fotoxx-23.0) | : | f.widgets.cc (fotoxx-23.1) | ||
---|---|---|---|---|
/******************************************************************************* * | /******************************************************************************* * | |||
Fotoxx edit photos and manage collections | Fotoxx - edit photos and manage collections | |||
Copyright 2007-2023 Michael Cornelison | Copyright 2007-2023 Michael Cornelison | |||
source code URL: https://kornelix.net | source code URL: https://kornelix.net | |||
contact: mkornelix@gmail.com | contact: mkornelix@gmail.com | |||
This program is free software: you can redistribute it and/or modify | This program is free software: you can redistribute it and/or modify | |||
it under the terms of the GNU General Public License as published by | it under the terms of the GNU General Public License as published by | |||
the Free Software Foundation, either version 3 of the License, or | the Free Software Foundation, either version 3 of the License, or | |||
(at your option) any later version. See https://www.gnu.org/licenses | (at your option) any later version. See https://www.gnu.org/licenses | |||
skipping to change at line 165 | skipping to change at line 165 | |||
gtk_widget_add_events(Wdrawin,GDK_SCROLL_MASK); | gtk_widget_add_events(Wdrawin,GDK_SCROLL_MASK); | |||
G_SIGNAL(Wdrawin,"button-press-event",mouse_event,0); // connect signals | G_SIGNAL(Wdrawin,"button-press-event",mouse_event,0); // connect signals | |||
G_SIGNAL(Wdrawin,"button-release-event",mouse_event,0); | G_SIGNAL(Wdrawin,"button-release-event",mouse_event,0); | |||
G_SIGNAL(Wdrawin,"motion-notify-event",mouse_event,0); | G_SIGNAL(Wdrawin,"motion-notify-event",mouse_event,0); | |||
G_SIGNAL(Wdrawin,"scroll-event",mouse_event,0); | G_SIGNAL(Wdrawin,"scroll-event",mouse_event,0); | |||
G_SIGNAL(Wdrawin,"draw",Fpaint,0); | G_SIGNAL(Wdrawin,"draw",Fpaint,0); | |||
// menu popup text (tool tips) ---------------------------------------- | // menu popup text (tool tips) ---------------------------------------- | |||
// main menu buttons | // main menu buttons | |||
cchar * File_tip = "File: new session, open, rename, copy/move, delete, print | ch * File_tip = "File: new session, open, rename, copy/move, delete, print"; | |||
"; | ch * Gallery_tip = "Gallery: thumbs, new/recent, sort, select, bookmarks, alb | |||
cchar * Gallery_tip = "Gallery: thumbs, new/recent, sort, select, bookmarks, | ums, slide show"; | |||
albums, slide show"; | ch * Maps_tip = "Maps: net maps, file maps, images by map location"; | |||
cchar * Maps_tip = "Maps: net maps, file maps, images by map location"; | ch * custom_tip = "Custom menu: add favorite or frequent functions here"; | |||
cchar * custom_tip = "Custom menu: add favorite or frequent functions here"; | ch * prev_next_tip = "Left/right click: previous/next image (also ←/→ keys)"; | |||
cchar * prev_next_tip = "Left/right click: previous/next image (also ←/→ keys | ch * zoom_menu_tip = "Left/right click: zoom image/thumb in/out (also +/- key | |||
)"; | s)"; | |||
cchar * zoom_menu_tip = "Left/right click: zoom image/thumb in/out (also +/- | ch * save_tip = "Save modified image as new file or file version"; | |||
keys)"; | ch * meta_tip = "View/edit metadata, manage tags, images by location/date, se | |||
cchar * save_tip = "Save modified image as new file or file version"; | arch images"; | |||
cchar * meta_tip = "View/edit metadata, manage tags, images by location/date, | ch * select_tip = "Select areas to edit separately, copy/paste selections"; | |||
search images"; | ch * undo_redo_tip = "Left/right click: undo/redo one edit step \n" | |||
cchar * select_tip = "Select areas to edit separately, copy/paste selections" | ||||
; | ||||
cchar * undo_redo_tip = "Left/right click: undo/redo one edit step \n" | ||||
" (with A-key: undo/redo all edits) \n" | " (with A-key: undo/redo all edits) \n" | |||
" Middle click: go back to selected edit step"; | " Middle click: go back to selected edit step"; | |||
cchar * edit_tip = "Edit: crop, rotate, retouch, resize, markup, paint edits, | ch * edit_tip = "Edit: crop, rotate, retouch, resize, markup, paint edits, co | |||
copy areas, plugins"; | py areas, plugins"; | |||
cchar * repair_tip = "Repair: sharpen, blur, denoise, defog, smart erase, adj | ch * repair_tip = "Repair: sharpen, blur, denoise, defog, smart erase, adjust | |||
ust color"; | color"; | |||
cchar * refine_tip = "Refine: bright dist, flatten, local contrast, gradients | ch * refine_tip = "Refine: bright dist, flatten, local contrast, gradients, s | |||
, saturation, vignette"; | aturation, vignette"; | |||
cchar * effects_tip = "Effects: cartoon, sketch, paint, emboss, dither, textu | ch * effects_tip = "Effects: cartoon, sketch, paint, emboss, dither, texture, | |||
re, colors, custom"; | colors, custom"; | |||
cchar * warp_tip = "Warp: unbend, fix perspective, warp, unwarp, flatten, ima | ch * warp_tip = "Warp: unbend, fix perspective, warp, unwarp, flatten, image | |||
ge transforms"; | transforms"; | |||
cchar * comb_tip = "Combine: HDR, HDF, stack, panorama, mashup, image table"; | ch * comb_tip = "Combine: HDR, HDF, stack, panorama, mashup, image table"; | |||
cchar * batch_tip = "Batch: copy, move, resize, convert, RAW convert, metadat | ch * batch_tip = "Batch: copy, move, resize, convert, RAW convert, metadata, | |||
a, custom scripts"; | custom scripts"; | |||
cchar * tools_tip = "Tools: index, settings, shortcuts, magnify, find dups, g | ch * tools_tip = "Tools: index, settings, shortcuts, magnify, find dups, grid | |||
rid"; | "; | |||
cchar * help_tip = "Help: user guide, tutorial, change log, license, privacy, | ch * help_tip = "Help: user guide, tutorial, change log, license, privacy, ab | |||
about"; | out"; | |||
// file menu | // file menu | |||
cchar * new_session_tip = "Open a parallel Fotoxx session"; | ch * new_session_tip = "Open a parallel Fotoxx session"; | |||
cchar * open_file_tip = "select and view an image file"; | ch * open_file_tip = "select and view an image file"; | |||
cchar * cycle2files_tip = "Cycle 2 Prior Files"; | ch * cycle2files_tip = "Cycle 2 Prior Files"; | |||
cchar * cycle3files_tip = "Cycle 3 Prior Files"; | ch * cycle3files_tip = "Cycle 3 Prior Files"; | |||
cchar * view360_tip = "View 360 degree panorama image"; | ch * view360_tip = "View 360 degree panorama image"; | |||
cchar * rename_tip = "Change file name"; | ch * rename_tip = "Change file name"; | |||
cchar * permissions_tip = "View and change file permissions"; | ch * permissions_tip = "View and change file permissions"; | |||
cchar * remove_alpha_tip = "Remove alpha channel (transparency) from image fi | ch * remove_alpha_tip = "Remove alpha channel (transparency) from image file" | |||
le"; | ; | |||
cchar * blank_image_tip = "Create a blank image"; | ch * blank_image_tip = "Create a blank image"; | |||
cchar * blank_window_tip = "Toggle between image and blank screen"; | ch * blank_window_tip = "Toggle between image and blank screen"; | |||
cchar * copy_move_tip = "Copy or Move image file to new location"; | ch * copy_move_tip = "Copy or Move image file to new location"; | |||
cchar * copyto_desktop_tip = "Copy image file to the desktop"; | ch * copyto_desktop_tip = "Copy image file to the desktop"; | |||
cchar * copyto_clipboard_tip = "Copy image file to the clipboard"; | ch * copyto_clipboard_tip = "Copy image file to the clipboard"; | |||
cchar * deltrash_tip = "Delete or trash image file"; | ch * deltrash_tip = "Delete or trash image file"; | |||
cchar * convert_adobe_tip = "Convert Adobe document file into jpeg files"; | ch * convert_adobe_tip = "Convert Adobe document file into jpeg files"; | |||
cchar * set_wallpaper_tip = "Set image as desktop wallpaper (GNOME only)"; | ch * set_wallpaper_tip = "Set image as desktop wallpaper (GNOME only)"; | |||
cchar * show_on_net_map_tip = "Show image location on Internet map"; | ch * show_on_net_map_tip = "Show image location on Internet map"; | |||
cchar * print_tip = "Print the current image file"; | ch * print_tip = "Print the current image file"; | |||
cchar * print_calibrated_tip = "Print current image file with adjusted colors | ch * print_calibrated_tip = "Print current image file with adjusted colors"; | |||
"; | ch * quit_tip = "Quit Fotoxx"; | |||
cchar * quit_tip = "Quit Fotoxx"; | ||||
// gallery menu | // gallery menu | |||
cchar * thumbview_tip = "Gallery view with thumbnails and file data"; | ch * thumbview_tip = "Gallery view with thumbnails and file data"; | |||
cchar * metaview_tip = "Gallery view with thumbnails and basic metadata"; | ch * metaview_tip = "Gallery view with thumbnails and basic metadata"; | |||
cchar * recentfiles_tip = "Gallery of recently viewed image files"; | ch * recentfiles_tip = "Gallery of recently viewed image files"; | |||
cchar * newfiles_tip = "Gallery of newest image files"; | ch * newfiles_tip = "Gallery of newest image files"; | |||
cchar * gallery_sort_tip = "Change gallery sort order"; | ch * gallery_sort_tip = "Change gallery sort order"; | |||
cchar * gallery_screen_tip = "Select newest, oldest, matching pattern ..."; | ch * gallery_screen_tip = "Select newest, oldest, matching pattern ..."; | |||
cchar * gallery_home_tip = "Jump to gallery beginning [home]"; | ch * gallery_home_tip = "Jump to gallery beginning [home]"; | |||
cchar * gallery_end_tip = "Jump to gallery end [end]"; | ch * gallery_end_tip = "Jump to gallery end [end]"; | |||
cchar * source_folder_tip = "Set gallery from current image file"; | ch * source_folder_tip = "Set gallery from current image file"; | |||
cchar * allfolders_tip = "List all folders, click any for gallery view"; | ch * allfolders_tip = "List all folders, click any for gallery view"; | |||
cchar * select_files_tip = "Select input files for album/batch/script functio | ch * select_files_tip = "Select input files for album/batch/script function"; | |||
n"; | ch * rename_folder_tip = "Rename current folder (current gallery)"; | |||
cchar * rename_folder_tip = "Rename current folder (current gallery)"; | ch * add_subfolder_tip = "Add a new subfolder to current gallery"; | |||
cchar * add_subfolder_tip = "Add a new subfolder to current gallery"; | ch * bookmarks_tip = "Set and recall bookmarked image locations"; | |||
cchar * bookmarks_tip = "Set and recall bookmarked image locations"; | ch * manage_albums_tip = "Organize images into albums"; | |||
cchar * manage_albums_tip = "Organize images into albums"; | ch * update_albums_tip = "Update albums for new file versions"; | |||
cchar * update_albums_tip = "Update albums for new file versions"; | ch * album_mass_update_tip = "Mass update album files"; | |||
cchar * album_mass_update_tip = "Mass update album files"; | ch * gallery2album_tip = "Save current gallery as album"; | |||
cchar * gallery2album_tip = "Save current gallery as album"; | ch * slideshow_tip = "Start a slide show"; | |||
cchar * slideshow_tip = "Start a slide show"; | ||||
// map menu | // map menu | |||
cchar * net_map_tip = "Open Internet map"; | ch * net_map_tip = "Open Internet map"; | |||
cchar * net_locs_tip = "Go to internet map location, save location"; | ch * net_locs_tip = "Go to internet map location, save location"; | |||
cchar * download_maps_tip = "Download fle maps from Fotoxx web site"; | ch * download_maps_tip = "Download fle maps from Fotoxx web site"; | |||
cchar * file_map_tip = "Open file map"; | ch * file_map_tip = "Open file map"; | |||
cchar * choose_map_tip = "Set current file map"; | ch * choose_map_tip = "Set current file map"; | |||
cchar * markers_tip = "Show map markers for all images or current gallery"; | ch * markers_tip = "Show map markers for all images or current gallery"; | |||
// metadata menu | // metadata menu | |||
cchar * meta_view_main_tip = "Show key metadata for current image or clicked | ch * meta_view_main_tip = "Show key metadata for current image or clicked thu | |||
thumbnail"; | mbnail"; | |||
cchar * meta_view_all_tip = "List all metadata for current image or clicked t | ch * meta_view_all_tip = "List all metadata for current image or clicked thum | |||
humbnail"; | bnail"; | |||
cchar * meta_edit_main_tip = "Edit key metadata: tags/geotags/caption/rating | ch * meta_edit_main_tip = "Edit key metadata: tags/geotags/caption/rating ... | |||
..."; | "; | |||
cchar * meta_edit_any_tip = "Edit any metadata item"; | ch * meta_edit_any_tip = "Edit any metadata item"; | |||
cchar * meta_delete_tip = "Remove selected image metadata"; | ch * meta_delete_tip = "Remove selected image metadata"; | |||
cchar * meta_copy_tip = "Copy metadata from one image to another"; | ch * meta_copy_tip = "Copy metadata from one image to another"; | |||
cchar * meta_fix_tip = "Repair malformed metadata preventing metadata edits"; | ch * meta_fix_tip = "Repair malformed metadata preventing metadata edits"; | |||
cchar * meta_manage_tags_tip = "Define tags (keywords) used for searching ima | ch * meta_manage_tags_tip = "Define tags (keywords) used for searching images | |||
ges"; | "; | |||
cchar * meta_choose_caps_tip = "Choose metadata shown on image (captions etc. | ch * meta_choose_caps_tip = "Choose metadata shown on image (captions etc.)"; | |||
)"; | ch * meta_toggle_caps_tip = "Toggle image metadata display ON/OFF"; | |||
cchar * meta_toggle_caps_tip = "Toggle image metadata display ON/OFF"; | ch * meta_places_dates_tip = "Find all images for a location [date]"; | |||
cchar * meta_places_dates_tip = "Find all images for a location [date]"; | ch * meta_timeline_tip = "Show image counts in month calendar, select, report | |||
cchar * meta_timeline_tip = "Show image counts in month calendar, select, rep | "; | |||
ort"; | ch * search_images_tip = "Find images meeting multiple search criteria"; | |||
cchar * search_images_tip = "Find images meeting multiple search criteria"; | ||||
// select area menu | // select area menu | |||
cchar * select_area_tip = "Select objects or areas for editing"; | ch * select_area_tip = "Select objects or areas for editing"; | |||
cchar * select_find_gap_tip = "Find a gap in an area outline"; | ch * select_find_gap_tip = "Find a gap in an area outline"; | |||
cchar * select_edgeblend_tip = "Mouse-blend selected area edges"; | ch * select_edgeblend_tip = "Mouse-blend selected area edges"; | |||
cchar * copy_complex_tip = "Select and copy complex shape"; | ch * copy_complex_tip = "Select and copy complex shape"; | |||
cchar * select_show_tip = "Show (outline) selected areas"; | ch * select_show_tip = "Show (outline) selected areas"; | |||
cchar * select_hide_tip = "Hide selected areas"; | ch * select_hide_tip = "Hide selected areas"; | |||
cchar * select_enable_tip = "Enable areas for editing"; | ch * select_enable_tip = "Enable areas for editing"; | |||
cchar * select_disable_tip = "Disable areas for editing"; | ch * select_disable_tip = "Disable areas for editing"; | |||
cchar * select_invert_tip = "Reverse existing areas"; | ch * select_invert_tip = "Reverse existing areas"; | |||
cchar * select_clear_tip = "Erase existing areas"; | ch * select_clear_tip = "Erase existing areas"; | |||
cchar * select_copy_tip = "Copy area for later pasting into image"; | ch * select_copy_tip = "Copy area for later pasting into image"; | |||
cchar * select_paste_tip = "Paste previously copied area into image"; | ch * select_paste_tip = "Paste previously copied area into image"; | |||
cchar * select_load_tip = "Open a file and paste as area into image"; | ch * select_load_tip = "Open a file and paste as area into image"; | |||
cchar * select_save_tip = "Save area to a file with transparency"; | ch * select_save_tip = "Save area to a file with transparency"; | |||
// edit menu | // edit menu | |||
cchar * crop_tip = "Crop (trim) image margins"; | ch * crop_tip = "Crop (trim) image margins"; | |||
cchar * rotate_tip = "Rotate or level image"; | ch * rotate_tip = "Rotate or level image"; | |||
cchar * retouch_tip = "Adjust brightness, contrast, color"; | ch * retouch_tip = "Adjust brightness, contrast, color"; | |||
cchar * resize_tip = "Change image pixel dimensions"; | ch * resize_tip = "Change image pixel dimensions"; | |||
cchar * upright_tip = "Auto upright a rotated image based on EXIF data"; | ch * upright_tip = "Auto upright a rotated image based on metadata data"; | |||
cchar * markup_tip = "Draw on image: text, line/arrow, box, ellipse"; | ch * markup_tip = "Draw on image: text, line/arrow, box, ellipse"; | |||
cchar * color_mode_tip = "Set black-white/color, negative/positive, sepia"; | ch * color_mode_tip = "Set black-white/color, negative/positive, sepia"; | |||
cchar * paint_image_tip = "Paint image pixels using the mouse"; | ch * paint_image_tip = "Paint image pixels using the mouse"; | |||
cchar * paint_edits_tip = "Paint edit function gradually using the mouse"; | ch * paint_edits_tip = "Paint edit function gradually using the mouse"; | |||
cchar * paint_transp_tip = "Paint image transparency using the mouse"; | ch * paint_transp_tip = "Paint image transparency using the mouse"; | |||
cchar * copy_in_image_tip = "Copy pixels within an image using the mouse"; | ch * copy_in_image_tip = "Copy pixels within an image using the mouse"; | |||
cchar * copy_from_image_tip = "Copy pixels from another image using the mouse | ch * copy_from_image_tip = "Copy pixels from another image using the mouse"; | |||
"; | ch * copy_prior_edit_tip = "Copy pixels from prior edits using the mouse"; | |||
cchar * copy_prior_edit_tip = "Copy pixels from prior edits using the mouse"; | ch * plugins_tip = "Edit plugins menu or run a plugin function"; | |||
cchar * plugins_tip = "Edit plugins menu or run a plugin function"; | ||||
// repair menu | // repair menu | |||
cchar * sharpen_tip = "Sharpen the image, various methods"; | ch * sharpen_tip = "Sharpen the image, various methods"; | |||
cchar * blur_tip = "Blur the image, various methods"; | ch * blur_tip = "Blur the image, various methods"; | |||
cchar * denoise_tip = "Filter noise from low-light photos"; | ch * denoise_tip = "Filter noise from low-light photos"; | |||
cchar * defog_tip = "Add or reduce fog/haze in an image or selected area"; | ch * defog_tip = "Add or reduce fog/haze in an image or selected area"; | |||
cchar * redeyes_tip = "Fix red-eyes from electronic flash"; | ch * redeyes_tip = "Fix red-eyes from electronic flash"; | |||
cchar * smart_erase_tip = "Remove unwanted objects in image"; | ch * smart_erase_tip = "Remove unwanted objects in image"; | |||
cchar * remove_halo_tip = "Remove halos left by other edit functions"; | ch * remove_halo_tip = "Remove halos left by other edit functions"; | |||
cchar * adjust_RGB_tip = "Adjust color using RGB or CMY colors"; | ch * adjust_RGB_tip = "Adjust color using RGB or CMY colors"; | |||
cchar * adjust_HSL_tip = "Adjust color using HSL colors"; | ch * adjust_HSL_tip = "Adjust color using HSL colors"; | |||
cchar * color_profile_tip = "Convert to another color profile"; | ch * color_profile_tip = "Convert to another color profile"; | |||
cchar * remove_dust_tip = "Remove dust spots from old scanned photos"; | ch * remove_dust_tip = "Remove dust spots from old scanned photos"; | |||
cchar * chromatic1_tip = "Fix color fringes in outer areas of an image"; | ch * chromatic1_tip = "Fix color fringes in outer areas of an image"; | |||
cchar * chromatic2_tip = "Fix color fringes on dark/bright feature edges"; | ch * chromatic2_tip = "Fix color fringes on dark/bright feature edges"; | |||
// refine menu | // refine menu | |||
cchar * voodoo1_tip = "Fast auto improve that may be good enough"; | ch * voodoo1_tip = "Fast auto improve that may be good enough"; | |||
cchar * voodoo2_tip = "Fast auto improve that may be good enough"; | ch * voodoo2_tip = "Fast auto improve that may be good enough"; | |||
cchar * edit_dist_tip = "Edit brightness distribution directly"; | ch * edit_dist_tip = "Edit brightness distribution directly"; | |||
cchar * flatten_dist_tip = "Flatten brightness distribution to enhance detail | ch * flatten_dist_tip = "Flatten brightness distribution to enhance details"; | |||
s"; | ch * localcon_tip = "Rescale RGB levels to increase local contrast"; | |||
cchar * localcon_tip = "Rescale RGB levels to increase local contrast"; | ch * gradients_tip = "Magnify brightness gradients to enhance details"; | |||
cchar * gradients_tip = "Magnify brightness gradients to enhance details"; | ch * retinex_tip = "Rescale RGB - reduce color caste and fog/haze"; | |||
cchar * retinex_tip = "Rescale RGB - reduce color caste and fog/haze"; | ch * saturation_tip = "Adjust color saturation based on brightness"; | |||
cchar * saturation_tip = "Adjust color saturation based on brightness"; | ch * soft_focus_tip = "Apply a soft focus effect to an image"; | |||
cchar * soft_focus_tip = "Apply a soft focus effect to an image"; | ch * match_colors_tip = "Match image colors with those of another image"; | |||
cchar * match_colors_tip = "Match image colors with those of another image"; | ch * brite_ramp_tip = "Add a brightness/color ramp across the image"; | |||
cchar * brite_ramp_tip = "Add a brightness/color ramp across the image"; | ch * vignette_tip = "Change brightness or color radially"; | |||
cchar * vignette_tip = "Change brightness or color radially"; | ||||
// effects menu | // effects menu | |||
cchar * sketch_tip = "Convert image into simulated sketch"; | ch * sketch_tip = "Convert image into simulated sketch"; | |||
cchar * cartoon_tip = "Convert image into a cartoon drawing"; | ch * cartoon_tip = "Convert image into a cartoon drawing"; | |||
cchar * drawing_tip = "Convert image into a line drawing (edge detection)"; | ch * drawing_tip = "Convert image into a line drawing (edge detection)"; | |||
cchar * emboss_tip = "Create an embossed or 3D appearance"; | ch * emboss_tip = "Create an embossed or 3D appearance"; | |||
cchar * tiles_tip = "Convert image into square tiles"; | ch * tiles_tip = "Convert image into square tiles"; | |||
cchar * painting_tip = "Convert image into a simulated painting"; | ch * painting_tip = "Convert image into a simulated painting"; | |||
cchar * texture_tip = "Add texture to an image"; | ch * texture_tip = "Add texture to an image"; | |||
cchar * pattern_tip = "Tile image with a repeating pattern"; | ch * pattern_tip = "Tile image with a repeating pattern"; | |||
cchar * dither_tip = "Convert image into dithered dots"; | ch * dither_tip = "Convert image into dithered dots"; | |||
cchar * mosaic_tip = "Create a mosaic with tiles made from all images"; | ch * mosaic_tip = "Create a mosaic with tiles made from all images"; | |||
cchar * add_noise_tip = "Add random noise to an image"; | ch * add_noise_tip = "Add random noise to an image"; | |||
cchar * color_depth_tip = "Reduce image color depth (posterize)"; | ch * color_depth_tip = "Reduce image color depth (posterize)"; | |||
cchar * shift_colors_tip = "Shift/convert image colors into other colors"; | ch * shift_colors_tip = "Shift/convert image colors into other colors"; | |||
cchar * alien_colors_tip = "Change image colors using an algorithm"; | ch * alien_colors_tip = "Change image colors using an algorithm"; | |||
cchar * copy_colors_tip = "Copy selected RGB colors from current image"; | ch * copy_colors_tip = "Copy selected RGB colors from current image"; | |||
cchar * paste_colors_tip = "Paste selected RGB colors from selected image fil | ch * paste_colors_tip = "Paste selected RGB colors from selected image file"; | |||
e"; | ch * mirror_tip = "Mirror an image horizontally or vertically"; | |||
cchar * mirror_tip = "Mirror an image horizontally or vertically"; | ch * anykernel_tip = "Process an image using a custom kernel (convolution)"; | |||
cchar * anykernel_tip = "Process an image using a custom kernel (convolution) | ||||
"; | ||||
// warp menu | // warp menu | |||
cchar * unbend_tip = "Remove image curvature, especially in panoramas"; | ch * unbend_tip = "Remove image curvature, especially in panoramas"; | |||
cchar * perspective_tip = "Align object photographed from an angle"; | ch * perspective_tip = "Align object photographed from an angle"; | |||
cchar * warp_area_tip = "Distort image areas using the mouse"; | ch * warp_area_tip = "Distort image areas using the mouse"; | |||
cchar * warp_curved_tip = "Warp image (curved) using the mouse"; | ch * warp_curved_tip = "Warp image (curved) using the mouse"; | |||
cchar * warp_linear_tip = "Warp image (straight) using the mouse"; | ch * warp_linear_tip = "Warp image (straight) using the mouse"; | |||
cchar * warp_affine_tip = "Warp image (affine) using the mouse"; | ch * warp_affine_tip = "Warp image (affine) using the mouse"; | |||
cchar * area_rescale_tip = "Rescale selected image area"; | ch * area_rescale_tip = "Rescale selected image area"; | |||
cchar * unwarp_closeup_tip = "Rectify closeup face photo (baloon face)"; | ch * unwarp_closeup_tip = "Rectify closeup face photo (baloon face)"; | |||
cchar * waves_tip = "Warp an image with a wave pattern"; | ch * waves_tip = "Warp an image with a wave pattern"; | |||
cchar * twist_tip = "Twist image centered at mouse position"; | ch * twist_tip = "Twist image centered at mouse position"; | |||
cchar * sphere_tip = "Make a spherical projection of an image"; | ch * sphere_tip = "Make a spherical projection of an image"; | |||
cchar * stretch_tip = "Add/remove barrel/pincushion distortion"; | ch * stretch_tip = "Add/remove barrel/pincushion distortion"; | |||
cchar * inside_out_tip = "Turn an image inside-out"; | ch * inside_out_tip = "Turn an image inside-out"; | |||
cchar * tiny_planet_tip = "Convert an image into a Tiny Planet"; | ch * tiny_planet_tip = "Convert an image into a Tiny Planet"; | |||
cchar * escher_spiral_tip = "Generate an inward spiraling repeating image"; | ch * escher_spiral_tip = "Generate an inward spiraling repeating image"; | |||
cchar * flatphoto_tip = "Flatten photo of a curved image"; | ch * flatphoto_tip = "Flatten photo of a curved image"; | |||
// combine menu | // combine menu | |||
cchar * HDR_tip = "Combine bright/dark images for better detail"; | ch * HDR_tip = "Combine bright/dark images for better detail"; | |||
cchar * HDF_tip = "Combine near/far focus images for deeper focus"; | ch * HDF_tip = "Combine near/far focus images for deeper focus"; | |||
cchar * stack_paint_tip = "Combine images to erase passing people, etc."; | ch * stack_paint_tip = "Combine images to erase passing people, etc."; | |||
cchar * stack_noise_tip = "Combine noisy images into a low-noise image"; | ch * stack_noise_tip = "Combine noisy images into a low-noise image"; | |||
cchar * stack_layer_tip = "Combine image layers, mouse select and expose"; | ch * stack_layer_tip = "Combine image layers, mouse select and expose"; | |||
cchar * stack_split_tip = "Compare two images split by sliding boundary"; | ch * stack_split_tip = "Compare two images split by sliding boundary"; | |||
cchar * image_diffs_tip = "Show differences between two images"; | ch * image_diffs_tip = "Show differences between two images"; | |||
cchar * pano_horz_tip = "Combine images into a panorama"; | ch * pano_horz_tip = "Combine images into a panorama"; | |||
cchar * pano_vert_tip = "Combine images into a vertical panorama"; | ch * pano_vert_tip = "Combine images into a vertical panorama"; | |||
cchar * show_cim_files_tip = "Show input files for above combine functions"; | ch * show_cim_files_tip = "Show input files for above combine functions"; | |||
cchar * mashup_tip = "Arrange images and text in a layout (montage)"; | ch * mashup_tip = "Arrange images and text in a layout (montage)"; | |||
cchar * image_table_tip = "Combine images into a table or matrix of images"; | ch * image_table_tip = "Combine images into a table or matrix of images"; | |||
// batch menu | // batch menu | |||
cchar * batch_convert_tip = "Rename/convert/resize/move selected image files" | ch * batch_convert_tip = "Rename/convert/resize/move selected image files"; | |||
; | ch * batch_copy_move_tip = "Copy/move selected image files to a new folder"; | |||
cchar * batch_copy_move_tip = "Copy/move selected image files to a new folder | ch * batch_upright_tip = "Upright rotated image files, selected or ALL"; | |||
"; | ch * batch_deltrash_tip = "Delete or Trash selected image files"; | |||
cchar * batch_upright_tip = "Upright rotated image files, selected or ALL"; | ch * batch_RAW_tip = "Convert camera RAW files to tiff/png/jpeg"; | |||
cchar * batch_deltrash_tip = "Delete or Trash selected image files"; | ch * batch_overlay_tip = "Add overlay image (copyright ...) to selected host | |||
cchar * batch_RAW_tip = "Convert camera RAW files to tiff/png/jpeg"; | images"; | |||
cchar * batch_overlay_tip = "Add overlay image (copyright ...) to selected ho | ch * batch_tags_tip = "Add/remove tags for selected image files"; | |||
st images"; | ch * batch_rename_tags_tip = "Revise tag names for all image files"; | |||
cchar * batch_tags_tip = "Add/remove tags for selected image files"; | ch * batch_photo_DT_tip = "Set or shift photo date/time for selected image fi | |||
cchar * batch_rename_tags_tip = "Revise tag names for all image files"; | les"; | |||
cchar * batch_photo_DT_tip = "Set or shift photo date/time for selected image | ch * batch_change_meta_tip = "Add/change/delete metadata for selected image f | |||
files"; | iles"; | |||
cchar * batch_change_meta_tip = "Add/change/delete metadata for selected imag | ch * batch_report_meta_tip = "Report metadata for selected image files"; | |||
e files"; | ch * batch_meta_mover_tip = "Move metadata between selected keys"; | |||
cchar * batch_report_meta_tip = "Report metadata for selected image files"; | ch * batch_geotags_tip = "Add/revise geotags for selected image files"; | |||
cchar * batch_meta_mover_tip = "Move metadata between selected keys"; | ch * burn_DVD_tip = "Burn selected image files to DVD/BlueRay disc"; | |||
cchar * batch_geotags_tip = "Add/revise geotags for selected image files"; | ch * export_filelist_tip = "Create a file of selected image files"; | |||
cchar * burn_DVD_tip = "Burn selected image files to DVD/BlueRay disc"; | ch * export_files_tip = "Export selected image files to a folder"; | |||
cchar * export_filelist_tip = "Create a file of selected image files"; | ch * edit_script_tip = "Build a custom script with multiple edit functions"; | |||
cchar * export_files_tip = "Export selected image files to a folder"; | ch * run_script_tip = "Run custom script to edit the current image file"; | |||
cchar * edit_script_tip = "Build a custom script with multiple edit functions | ch * batch_script_tip = "Run custom script to edit selected image files"; | |||
"; | ||||
cchar * run_script_tip = "Run custom script to edit the current image file"; | ||||
cchar * batch_script_tip = "Run custom script to edit selected image files"; | ||||
// tools menu | // tools menu | |||
cchar * index_tip = "Index new image files and make thumbnails"; | ch * index_tip = "Index new image files and make thumbnails"; | |||
cchar * quick_index_tip = "Quick incremental index update"; | ch * quick_index_tip = "Quick incremental index update"; | |||
cchar * move_fotoxx_home_tip = "Move Fotoxx home folder"; | ch * move_fotoxx_home_tip = "Move Fotoxx home folder"; | |||
cchar * settings_tip = "User preferences and settings"; | ch * settings_tip = "User preferences and settings"; | |||
cchar * KB_shortcuts_tip = "Show or make Keyboard Shortcuts"; | ch * KB_shortcuts_tip = "Show or make Keyboard Shortcuts"; | |||
cchar * RGB_dist_tip = "Show RGB brightness distribution"; | ch * RGB_dist_tip = "Show RGB brightness distribution"; | |||
cchar * magnify_tip = "Magnify image around the mouse position"; | ch * magnify_tip = "Magnify image around the mouse position"; | |||
cchar * duplicates_tip = "Search all image files and report duplicates"; | ch * duplicates_tip = "Search all image files and report duplicates"; | |||
cchar * measure_image_tip = "Measure distances within an image"; | ch * measure_image_tip = "Measure distances within an image"; | |||
cchar * show_RGB_tip = "Show RGB colors at mouse position"; | ch * show_RGB_tip = "Show RGB colors at mouse position"; | |||
cchar * popup_text_tip = "Show text strings for edit insertion"; | ch * popup_text_tip = "Show text strings for edit insertion"; | |||
cchar * calib_printer_tip = "Calibrate printer colors"; | ch * calib_printer_tip = "Calibrate printer colors"; | |||
cchar * grid_settings_tip = "Set grid line counts or spacing"; | ch * grid_settings_tip = "Set grid line counts or spacing"; | |||
cchar * toggle_grid_tip = "Toggle grid lines on and off"; | ch * toggle_grid_tip = "Toggle grid lines on and off"; | |||
cchar * line_color_tip = "Change color of foreground lines"; | ch * line_color_tip = "Change color of foreground lines"; | |||
cchar * darkbrite_tip = "Highlight darkest and brightest pixels"; | ch * darkbrite_tip = "Highlight darkest and brightest pixels"; | |||
cchar * monitor_color_tip = "Chart to adjust monitor color"; | ch * monitor_color_tip = "Chart to adjust monitor color"; | |||
cchar * resources_tip = "Show memory and CPU resources used"; | ch * resources_tip = "Show memory and CPU resources used"; | |||
cchar * appimage_files_tip = "Export files from appimage container"; | ch * appimage_files_tip = "Export files from appimage container"; | |||
cchar * appimage_unstall_tip = "Uninstall appimage package"; | ch * appimage_unstall_tip = "Uninstall appimage package"; | |||
// help menu | // help menu | |||
cchar * user_guide_tip = "Read the user guide"; | ch * user_guide_tip = "Read the user guide"; | |||
cchar * video_tutorial_tip = "Fotoxx video tutorial on YouTube"; | ch * video_tutorial_tip = "Fotoxx video tutorial on YouTube"; | |||
cchar * all_edit_funcs_tip = "Overview of all edit functions"; | ch * all_edit_funcs_tip = "Overview of all edit functions"; | |||
cchar * outboard_programs_tip = "List outboard programs and functions"; | ch * outboard_programs_tip = "List outboard programs and functions"; | |||
cchar * logfile_tip = "View the log file (info and error messages)"; | ch * logfile_tip = "View the log file (info and error messages)"; | |||
cchar * command_params_tip = "List command line parameters"; | ch * command_params_tip = "List command line parameters"; | |||
cchar * changelog_tip = "List updates by Fotoxx version"; | ch * changelog_tip = "List updates by Fotoxx version"; | |||
cchar * copyright_tip = "Fotoxx Copyright"; | ch * copyright_tip = "Fotoxx Copyright"; | |||
cchar * gnu_license_tip = "Fotoxx License and terms of use"; | ch * gnu_license_tip = "Fotoxx License and terms of use"; | |||
cchar * pareto_license_tip = "Pareto Software License (worldcities file)"; | ch * pareto_license_tip = "Pareto Software License (worldcities file)"; | |||
cchar * source_build_tip = "how to build Fotoxx from source"; | ch * source_build_tip = "how to build Fotoxx from source"; | |||
cchar * privacy_tip = "Fotoxx privacy policy"; | ch * privacy_tip = "Fotoxx privacy policy"; | |||
cchar * about_tip = "Installed version, contact"; | ch * about_tip = "Installed version, contact"; | |||
cchar * homepage_tip = "Web Site (information and downloads)"; | ch * homepage_tip = "Web Site (information and downloads)"; | |||
// build menu table -------------------------------------------------------- - | // build menu table -------------------------------------------------------- - | |||
#define MENU(_topmenu, _text, _icon, _desc, _func, _arg) \ | #define MENU(_topmenu, _text, _icon, _tip, _func, _arg) \ | |||
me = Nmenus++; \ | me = Nmenus++; \ | |||
if (me >= maxmenus) zappcrash("maxmenus exceeded"); \ | if (me >= maxmenus) zappcrash("maxmenus exceeded"); \ | |||
menutab[me].topmenu = _topmenu; \ | menutab[me].topmenu = _topmenu; \ | |||
menutab[me].menu = _text; \ | menutab[me].menu = _text; \ | |||
menutab[me].icon = _icon; \ | menutab[me].icon = _icon; \ | |||
menutab[me].desc = _desc; \ | menutab[me].desc = _tip; \ | |||
menutab[me].func = _func; \ | menutab[me].func = _func; \ | |||
if (_arg) menutab[me].arg = _arg; \ | if (_arg) menutab[me].arg = _arg; \ | |||
else menutab[me].arg = _text; \ | else menutab[me].arg = _text; \ | |||
int me; | int me; | |||
Nmenus = 0; | Nmenus = 0; | |||
mFile = create_popmenu(); | mFile = create_popmenu(); | |||
MENU(mFile, "New Session", 0, new_session_tip, m_ne w_session, 0 ); | MENU(mFile, "New Session", 0, new_session_tip, m_ne w_session, 0 ); | |||
MENU(mFile, "Open Image File", 0, open_file_tip, m_op en_file, 0 ); | MENU(mFile, "Open Image File", 0, open_file_tip, m_op en_file, 0 ); | |||
skipping to change at line 683 | skipping to change at line 683 | |||
MENU(mHelp, "Copyright", 0, copyright_tip, m_he lp, 0 ); | MENU(mHelp, "Copyright", 0, copyright_tip, m_he lp, 0 ); | |||
MENU(mHelp, "GNU License", 0, gnu_license_tip, m_he lp, 0 ); | MENU(mHelp, "GNU License", 0, gnu_license_tip, m_he lp, 0 ); | |||
MENU(mHelp, "Pareto License", 0, pareto_license_tip, m_he lp, 0 ); | MENU(mHelp, "Pareto License", 0, pareto_license_tip, m_he lp, 0 ); | |||
MENU(mHelp, "Source Build", 0, source_build_tip, m_he lp, 0 ); | MENU(mHelp, "Source Build", 0, source_build_tip, m_he lp, 0 ); | |||
MENU(mHelp, "Privacy", 0, privacy_tip, m_he lp, 0 ); | MENU(mHelp, "Privacy", 0, privacy_tip, m_he lp, 0 ); | |||
MENU(mHelp, "About Fotoxx", 0, about_tip, m_he lp, 0 ); | MENU(mHelp, "About Fotoxx", 0, about_tip, m_he lp, 0 ); | |||
MENU(mHelp, "Home Page", 0, homepage_tip, m_he lp, 0 ); | MENU(mHelp, "Home Page", 0, homepage_tip, m_he lp, 0 ); | |||
// main menu buttons - must be last | // main menu buttons - must be last | |||
MENU(0, "File", "file.png", File_tip, (cbFunc *) | MENU(0, "File", "file.png", File_tip, (cbFunc *) | |||
popup_menu, (cchar *) mFile); | popup_menu, (ch *) mFile); | |||
MENU(0, "Gallery", "gallery.png", Gallery_tip, (cbFunc *) | MENU(0, "Gallery", "gallery.png", Gallery_tip, (cbFunc *) | |||
popup_menu, (cchar *) mGallery); | popup_menu, (ch *) mGallery); | |||
MENU(0, "Maps", "maps.png", Maps_tip, (cbFunc *) | MENU(0, "Maps", "maps.png", Maps_tip, (cbFunc *) | |||
popup_menu, (cchar *) mMap); | popup_menu, (ch *) mMap); | |||
MENU(0, "Custom", "custom.png", custom_tip, m_custom, 0 ); | MENU(0, "Custom", "custom.png", custom_tip, m_custom, 0 ); | |||
MENU(0, "Zoom", "zoom.png", zoom_menu_tip, m_zoom_men u, 0 ); | MENU(0, "Zoom", "zoom.png", zoom_menu_tip, m_zoom_men u, 0 ); | |||
MENU(0, "Prev/Next", "prev-next.png", prev_next_tip, m_prev_nex t, 0 ); | MENU(0, "Prev/Next", "prev-next.png", prev_next_tip, m_prev_nex t, 0 ); | |||
MENU(0, "Save", "save.png", save_tip, m_file_sav e, 0 ); | MENU(0, "Save", "save.png", save_tip, m_file_sav e, 0 ); | |||
MENU(0, "Meta", "meta.png", meta_tip, (cbFunc *) | MENU(0, "Meta", "meta.png", meta_tip, (cbFunc *) | |||
popup_menu, (cchar *) mMeta); | popup_menu, (ch *) mMeta); | |||
MENU(0, "Select", "select.png", select_tip, (cbFunc *) | MENU(0, "Select", "select.png", select_tip, (cbFunc *) | |||
popup_menu, (cchar *) mSelect); | popup_menu, (ch *) mSelect); | |||
MENU(0, "Undo", "undo.png", undo_redo_tip, m_undo_red o, 0 ); | MENU(0, "Undo", "undo.png", undo_redo_tip, m_undo_red o, 0 ); | |||
MENU(0, "Edit", "edit.png", edit_tip, (cbFunc *) | MENU(0, "Edit", "edit.png", edit_tip, (cbFunc *) | |||
popup_menu, (cchar *) mEdit); | popup_menu, (ch *) mEdit); | |||
MENU(0, "Repair", "repair.png", repair_tip, (cbFunc *) | MENU(0, "Repair", "repair.png", repair_tip, (cbFunc *) | |||
popup_menu, (cchar *) mRepair); | popup_menu, (ch *) mRepair); | |||
MENU(0, "Refine", "refine.png", refine_tip, (cbFunc *) | MENU(0, "Refine", "refine.png", refine_tip, (cbFunc *) | |||
popup_menu, (cchar *) mRefine); | popup_menu, (ch *) mRefine); | |||
MENU(0, "Effects", "effects.png", effects_tip, (cbFunc *) | MENU(0, "Effects", "effects.png", effects_tip, (cbFunc *) | |||
popup_menu, (cchar *) mEffects); | popup_menu, (ch *) mEffects); | |||
MENU(0, "Warp", "warp.png", warp_tip, (cbFunc *) | MENU(0, "Warp", "warp.png", warp_tip, (cbFunc *) | |||
popup_menu, (cchar *) mWarp); | popup_menu, (ch *) mWarp); | |||
MENU(0, "Comb", "comb.png", comb_tip, (cbFunc *) | MENU(0, "Comb", "comb.png", comb_tip, (cbFunc *) | |||
popup_menu, (cchar *) mComb); | popup_menu, (ch *) mComb); | |||
MENU(0, "Batch", "batch.png", batch_tip, (cbFunc *) | MENU(0, "Batch", "batch.png", batch_tip, (cbFunc *) | |||
popup_menu, (cchar *) mBatch); | popup_menu, (ch *) mBatch); | |||
MENU(0, "Tools", "tools.png", tools_tip, (cbFunc *) | MENU(0, "Tools", "tools.png", tools_tip, (cbFunc *) | |||
popup_menu, (cchar *) mTools); | popup_menu, (ch *) mTools); | |||
MENU(0, "Help", "help.png", help_tip, (cbFunc *) | MENU(0, "Help", "help.png", help_tip, (cbFunc *) | |||
popup_menu, (cchar *) mHelp); | popup_menu, (ch *) mHelp); | |||
// show developer tools menu if required // 22.15 | // show developer tools menu if required // 22.15 | |||
if (Fdevmenu) | if (Fdevmenu) | |||
{ | { | |||
mDevmenu = create_popmenu(); | mDevmenu = create_popmenu(); | |||
MENU(mDevmenu, "zappcrash test", 0, "backtrace dump", m_zappcrash_test, 0 ); | MENU(mDevmenu, "zappcrash test", 0, "backtrace dump", m_zappcrash_test, 0 ); | |||
MENU(mDevmenu, "Audit User Guide", 0, "check all user guide links", m_help , 0); | MENU(mDevmenu, "Audit User Guide", 0, "check all user guide links", m_help , 0); | |||
MENU(mDevmenu, "zmalloc report", 0, "show memory allocations by tag", m_zm alloc_report, 0); | MENU(mDevmenu, "zmalloc report", 0, "show memory allocations by tag", m_zm alloc_report, 0); | |||
MENU(mDevmenu, "zmalloc growth", 0, "show memory growth by tag", m_zmalloc _growth, 0); | MENU(mDevmenu, "zmalloc growth", 0, "show memory growth by tag", m_zmalloc _growth, 0); | |||
MENU(mDevmenu, "mouse events", 0, "toggle: show mouse events popup text", m_mouse_events, 0); // 22.15 | MENU(mDevmenu, "mouse events", 0, "toggle: show mouse events popup text", m_mouse_events, 0); // 22.15 | |||
MENU(0, "Dev-Tools", "devmenu.png", "developer tools", (cbFunc *) popu p_menu, (cchar *) mDevmenu); | MENU(0, "Dev-Tools", "devmenu.png", "developer tools", (cbFunc *) popu p_menu, (ch *) mDevmenu); | |||
} | } | |||
int Vmenus = Nmenus; // visible menus stop here | int Vmenus = Nmenus; // visible menus stop here | |||
// internal functions not shown in menus | // internal functions not shown in menus | |||
MENU(mDevmenu, "Copy From Image Slave", 0, "slave process", m_copy_from_imag e_slave, 0 ); | MENU(mDevmenu, "Copy From Image Slave", 0, "slave process", m_copy_from_imag e_slave, 0 ); | |||
MENU(mDevmenu, "Autosearch", 0, "Write search results to stdout", m_autosearc h, 0); | MENU(mDevmenu, "Autosearch", 0, "Write search results to stdout", m_autosearc h, 0); | |||
// build the menu buttons for the main menu --------------------------- | // build the menu buttons for the main menu --------------------------- | |||
skipping to change at line 872 | skipping to change at line 872 | |||
KBshort("Zoom-in", m_zoom, "in" ); | KBshort("Zoom-in", m_zoom, "in" ); | |||
KBshort("Zoom-out", m_zoom, "out" ); | KBshort("Zoom-out", m_zoom, "out" ); | |||
// zdialog completion buttons that can have KB shortcuts assigned | // zdialog completion buttons that can have KB shortcuts assigned | |||
KBshort("Apply", 0, 0 ); | KBshort("Apply", 0, 0 ); | |||
KBshort("Cancel", 0, 0 ); | KBshort("Cancel", 0, 0 ); | |||
KBshort("Reset", 0, 0 ); | KBshort("Reset", 0, 0 ); | |||
KBshort("OK", 0, 0 ); | KBshort("OK", 0, 0 ); | |||
// build right-click popup menus ------------------------------------------- - | // build right-click popup menus ------------------------------------------- - | |||
cchar *menumeta1 = "View Meta"; | ch *menumeta1 = "View Meta"; | |||
cchar *menumeta1A = "View All Meta"; | ch *menumeta1A = "View All Meta"; | |||
cchar *menumeta2 = "Edit Meta"; | ch *menumeta2 = "Edit Meta"; | |||
cchar *menurename = "Rename"; | ch *menurename = "Rename"; | |||
cchar *menudeltrash = "Delete/Trash"; | ch *menudeltrash = "Delete/Trash"; | |||
cchar *menucopymove = "Copy/Move"; | ch *menucopymove = "Copy/Move"; | |||
cchar *menucopytodesktop = "Copy to Desktop"; | ch *menucopytodesktop = "Copy to Desktop"; | |||
cchar *menucopytoclip = "Copy to Clipboard"; | ch *menucopytoclip = "Copy to Clipboard"; | |||
cchar *menurotateimage = "Rotate"; | ch *menurotateimage = "Rotate"; | |||
cchar *menucropimage = "Crop"; | ch *menucropimage = "Crop"; | |||
cchar *menuretouch = "Retouch"; | ch *menuretouch = "Retouch"; | |||
cchar *menuresize = "Resize"; | ch *menuresize = "Resize"; | |||
cchar *menuupright = "Upright"; | ch *menuupright = "Upright"; | |||
cchar *menusharpen = "Sharpen"; | ch *menusharpen = "Sharpen"; | |||
cchar *menublur = "Blur"; | ch *menublur = "Blur"; | |||
cchar *menudenoise = "Denoise"; | ch *menudenoise = "Denoise"; | |||
cchar *menuvoodoo1 = "Voodoo 1"; | ch *menuvoodoo1 = "Voodoo 1"; | |||
cchar *menuvoodoo2 = "Voodoo 2"; | ch *menuvoodoo2 = "Voodoo 2"; | |||
cchar *menueditdist = "Edit Dist"; | ch *menueditdist = "Edit Dist"; | |||
cchar *menuflattendist = "Flatten Dist"; | ch *menuflattendist = "Flatten Dist"; | |||
cchar *menulocalcon = "Local Contrast"; | ch *menulocalcon = "Local Contrast"; | |||
cchar *menugradients = "Gradients"; | ch *menugradients = "Gradients"; | |||
cchar *menusaturation = "Saturation"; | ch *menusaturation = "Saturation"; | |||
cchar *menuopenRT = "Raw Therapee"; | ch *menuopenRT = "Raw Therapee"; | |||
cchar *menuopenDT = "Darktable"; | ch *menuopenDT = "Darktable"; | |||
cchar *menumpoextract = "Extract .MPO files"; | ch *menumpoextract = "Extract .MPO files"; | |||
cchar *menuthumbframe = "Thumbnail Frame"; | ch *menuthumbframe = "Thumbnail Frame"; | |||
cchar *menupopimage = "Popup Image"; | ch *menupopimage = "Popup Image"; | |||
cchar *menualbumaddselfiles = "Add Selected Files Here"; | ch *menualbumaddselfiles = "Add Selected Files Here"; | |||
cchar *menualbumaddcurrfile = "Add Current File Here"; | ch *menualbumaddcurrfile = "Add Current File Here"; | |||
cchar *menuremovefromalbum = "Remove from Album"; | ch *menuremovefromalbum = "Remove from Album"; | |||
popmenu_image = create_popmenu(); // popup menu for image files | popmenu_image = create_popmenu(); // popup menu for image files | |||
add_popmenu_item(popmenu_image,menumeta1,popup_menufunc,"view meta"); | add_popmenu_item(popmenu_image,menumeta1,popup_menufunc,"view meta"); | |||
add_popmenu_item(popmenu_image,menumeta1A,popup_menufunc,"view all meta"); | add_popmenu_item(popmenu_image,menumeta1A,popup_menufunc,"view all meta"); | |||
add_popmenu_item(popmenu_image,menumeta2,popup_menufunc,"edit meta"); | add_popmenu_item(popmenu_image,menumeta2,popup_menufunc,"edit meta"); | |||
add_popmenu_item(popmenu_image,menurename,popup_menufunc,"rename"); | add_popmenu_item(popmenu_image,menurename,popup_menufunc,"rename"); | |||
add_popmenu_item(popmenu_image,menudeltrash,popup_menufunc,"delete/trash"); | add_popmenu_item(popmenu_image,menudeltrash,popup_menufunc,"delete/trash"); | |||
add_popmenu_item(popmenu_image,menucopymove,popup_menufunc,"copymove"); | add_popmenu_item(popmenu_image,menucopymove,popup_menufunc,"copymove"); | |||
add_popmenu_item(popmenu_image,menucopytodesktop,popup_menufunc,"copytodeskto p"); | add_popmenu_item(popmenu_image,menucopytodesktop,popup_menufunc,"copytodeskto p"); | |||
add_popmenu_item(popmenu_image,menucopytoclip,popup_menufunc,"copytoclip"); | add_popmenu_item(popmenu_image,menucopytoclip,popup_menufunc,"copytoclip"); | |||
skipping to change at line 986 | skipping to change at line 986 | |||
add_popmenu_item(popmenu_album,menucopytoclip,popup_menufunc,"copytoclip"); | add_popmenu_item(popmenu_album,menucopytoclip,popup_menufunc,"copytoclip"); | |||
add_popmenu_item(popmenu_album,menualbumaddselfiles,popup_menufunc,"albumadds elfiles"); | add_popmenu_item(popmenu_album,menualbumaddselfiles,popup_menufunc,"albumadds elfiles"); | |||
add_popmenu_item(popmenu_album,menualbumaddcurrfile,popup_menufunc,"albumaddc urrfile"); | add_popmenu_item(popmenu_album,menualbumaddcurrfile,popup_menufunc,"albumaddc urrfile"); | |||
add_popmenu_item(popmenu_album,menuremovefromalbum,popup_menufunc,"removefrom album"); | add_popmenu_item(popmenu_album,menuremovefromalbum,popup_menufunc,"removefrom album"); | |||
return; | return; | |||
} | } | |||
// right-click popup menu response function | // right-click popup menu response function | |||
void popup_menufunc(GtkWidget *, cchar *menu) | void popup_menufunc(GtkWidget *, ch *menu) | |||
{ | { | |||
if (strmatch(menu,"view meta")) meta_view(1); | if (strmatch(menu,"view meta")) meta_view(1); | |||
if (strmatch(menu,"view all meta")) meta_view(2); | if (strmatch(menu,"view all meta")) meta_view(2); | |||
if (strmatch(menu,"edit meta")) m_meta_edit_main(0,0); | if (strmatch(menu,"edit meta")) m_meta_edit_main(0,0); | |||
if (strmatch(menu,"rename")) m_rename(0,0); | if (strmatch(menu,"rename")) m_rename(0,0); | |||
if (strmatch(menu,"delete/trash")) m_delete_trash(0,0); | if (strmatch(menu,"delete/trash")) m_delete_trash(0,0); | |||
if (strmatch(menu,"copymove")) m_copy_move(0,0); | if (strmatch(menu,"copymove")) m_copy_move(0,0); | |||
if (strmatch(menu,"copytodesktop")) m_copyto_desktop(0,0); | if (strmatch(menu,"copytodesktop")) m_copyto_desktop(0,0); | |||
if (strmatch(menu,"copytoclip")) m_copyto_clip(0,0); | if (strmatch(menu,"copytoclip")) m_copyto_clip(0,0); | |||
if (strmatch(menu,"rotate")) m_rotate(0,0); | if (strmatch(menu,"rotate")) m_rotate(0,0); | |||
skipping to change at line 1025 | skipping to change at line 1025 | |||
if (strmatch(menu,"removefromalbum")) album_remove_file(clicked_posn); | if (strmatch(menu,"removefromalbum")) album_remove_file(clicked_posn); | |||
return; | return; | |||
} | } | |||
// main window mouse right-click popup menu | // main window mouse right-click popup menu | |||
void image_Rclick_popup() | void image_Rclick_popup() | |||
{ | { | |||
int ftype; | int ftype; | |||
char *pp; | ch *pp; | |||
if (! curr_file) return; | if (! curr_file) return; | |||
pp = strrchr(curr_file,'.'); | pp = strrchr(curr_file,'.'); | |||
if (pp && strmatchcase(pp,".mpo")) { | if (pp && strmatchcase(pp,".mpo")) { | |||
popup_menu(Mwin,popmenu_mpo); | popup_menu(Mwin,popmenu_mpo); | |||
return; | return; | |||
} | } | |||
ftype = image_file_type(curr_file); | ftype = image_file_type(curr_file); | |||
skipping to change at line 1047 | skipping to change at line 1047 | |||
if (ftype == RAW) popup_menu(Mwin,popmenu_raw); | if (ftype == RAW) popup_menu(Mwin,popmenu_raw); | |||
if (ftype == VIDEO) popup_menu(Mwin,popmenu_video); | if (ftype == VIDEO) popup_menu(Mwin,popmenu_video); | |||
return; | return; | |||
} | } | |||
// gallery thumbnail mouse left-click function | // gallery thumbnail mouse left-click function | |||
// open the clicked file in view mode F | // open the clicked file in view mode F | |||
void gallery_Lclick_func(int Nth) | void gallery_Lclick_func(int Nth) | |||
{ | { | |||
char *file; | ch *file; | |||
int err; | int err; | |||
if (clicked_file) { // lose memory of clicked thumbnail | if (clicked_file) { // lose memory of clicked thumbnail | |||
zfree(clicked_file); | zfree(clicked_file); | |||
clicked_file = 0; | clicked_file = 0; | |||
} | } | |||
file = gallery(0,"get",Nth); | file = gallery(0,"get",Nth); | |||
if (! file) return; | if (! file) return; | |||
if (curr_file && strmatch(curr_file,file)) { // clicked file = current file | if (curr_file && strmatch(curr_file,file)) { // clicked file = current file | |||
skipping to change at line 1074 | skipping to change at line 1074 | |||
zfree(file); | zfree(file); | |||
if (! err) m_viewmode(0,"F"); | if (! err) m_viewmode(0,"F"); | |||
return; | return; | |||
} | } | |||
// gallery thumbnail mouse right-click popup menu | // gallery thumbnail mouse right-click popup menu | |||
void gallery_Rclick_popup(int Nth) | void gallery_Rclick_popup(int Nth) | |||
{ | { | |||
FTYPE ftype; | FTYPE ftype; | |||
char *pp; | ch *pp; | |||
clicked_posn = Nth; // clicked gallery position (0 base) | clicked_posn = Nth; // clicked gallery position (0 base) | |||
clicked_file = gallery(0,"get",Nth); // clicked_file is subject for zfree() | clicked_file = gallery(0,"get",Nth); // clicked_file is subject for zfree() | |||
if (! clicked_file) return; | if (! clicked_file) return; | |||
pp = strrchr(clicked_file,'.'); | pp = strrchr(clicked_file,'.'); | |||
if (pp && strmatchcase(pp,".mpo")) { | if (pp && strmatchcase(pp,".mpo")) { | |||
popup_menu(Mwin,popmenu_mpo); | popup_menu(Mwin,popmenu_mpo); | |||
return; | return; | |||
} | } | |||
skipping to change at line 1103 | skipping to change at line 1103 | |||
if (ftype == RAW) popup_menu(Mwin,popmenu_raw); | if (ftype == RAW) popup_menu(Mwin,popmenu_raw); | |||
if (ftype == VIDEO) popup_menu(Mwin,popmenu_video); | if (ftype == VIDEO) popup_menu(Mwin,popmenu_video); | |||
return; | return; | |||
} | } | |||
/******************************************************************************* */ | /******************************************************************************* */ | |||
// set window view mode, F/G/M/W | // set window view mode, F/G/M/W | |||
void m_viewmode(GtkWidget *, cchar *fgwm) | void m_viewmode(GtkWidget *, ch *fgwm) | |||
{ | { | |||
static char lastWM[4] = "M"; | static ch lastWM[4] = "M"; | |||
// net map default | // net map default | |||
char wintitle[100]; | ch wintitle[100]; | |||
Plog(1,"m_viewmode %s \n",fgwm); | Plog(1,"m_viewmode %c \n",*fgwm); // 23.1 | |||
if (! fgwm) fgwm = "0"; // null -> "0" | if (! fgwm) fgwm = "0"; // null -> "0" | |||
if (strmatch(fgwm,"WM")) // use last W or M mode | if (strmatch(fgwm,"WM")) // use last W or M mode | |||
fgwm = lastWM; | fgwm = lastWM; | |||
if (*fgwm == FGWM) { // no view mode change | if (*fgwm == FGWM) { // no view mode change | |||
zfuncs::vmenustop = 0; // continue menu func | zfuncs::vmenustop = 0; // continue menu func | |||
return; | return; | |||
} | } | |||
skipping to change at line 1242 | skipping to change at line 1242 | |||
gtk_window_set_title(MWIN,wintitle); // window title | gtk_window_set_title(MWIN,wintitle); // window title | |||
} | } | |||
return; | return; | |||
} | } | |||
/******************************************************************************* */ | /******************************************************************************* */ | |||
// generate custom user menu from custom menu file | // generate custom user menu from custom menu file | |||
void m_custom(GtkWidget *, cchar *) | void m_custom(GtkWidget *, ch *) | |||
{ | { | |||
void custom_func(GtkWidget *, cchar *); | void custom_func(GtkWidget *, ch *); | |||
void custom_edit(GtkWidget *, cchar *); | void custom_edit(GtkWidget *, ch *); | |||
GtkWidget *popmenu; | GtkWidget *popmenu; | |||
char menufile[200]; | ch menufile[200]; | |||
char **menulist; | ch **menulist; | |||
cchar *menutran; | ch *menutran; | |||
int ii, jj, Nm; | int ii, jj, Nm; | |||
F1_help_topic = "custom menu"; | F1_help_topic = "custom menu"; | |||
Plog(1,"m_custom \n"); | Plog(1,"m_custom \n"); | |||
popmenu = create_popmenu(); // create popup menu | popmenu = create_popmenu(); // create popup menu | |||
snprintf(menufile,200,"%s/custom_menu",get_zhomedir()); | snprintf(menufile,200,"%s/custom_menu",get_zhomedir()); | |||
Nm = zreadfile(menufile,menulist); | Nm = zreadfile(menufile,menulist); | |||
skipping to change at line 1286 | skipping to change at line 1286 | |||
add_popmenu_item(popmenu,"Edit Menu",custom_edit, // add menu edit function at end | add_popmenu_item(popmenu,"Edit Menu",custom_edit, // add menu edit function at end | |||
0, "Edit custom menu"); | 0, "Edit custom menu"); | |||
popup_menu(Mwin,popmenu); // show popup menu | popup_menu(Mwin,popmenu); // show popup menu | |||
if (menulist) zreadfile_free(menulist); | if (menulist) zreadfile_free(menulist); | |||
return; | return; | |||
} | } | |||
void custom_func(GtkWidget *, cchar *menu) | void custom_func(GtkWidget *, ch *menu) | |||
{ | { | |||
int ii; | int ii; | |||
for (ii = 0; ii < Nmenus; ii++) { // convert menu name to menu function | for (ii = 0; ii < Nmenus; ii++) { // convert menu name to menu function | |||
if (! menutab[ii].menu) continue; // separator, null menu | if (! menutab[ii].menu) continue; // separator, null menu | |||
if (strmatchcase(menu,menutab[ii].menu)) break; | if (strmatchcase(menu,menutab[ii].menu)) break; | |||
} | } | |||
if (ii < Nmenus) menutab[ii].func(0,menutab[ii].arg); // call the menu function | if (ii < Nmenus) menutab[ii].func(0,menutab[ii].arg); // call the menu function | |||
return; | return; | |||
} | } | |||
void custom_edit(GtkWidget *, cchar *) // edit the custom menu file | void custom_edit(GtkWidget *, ch *) // edit the custom menu file | |||
{ | { | |||
F1_help_topic = "custom menu"; | F1_help_topic = "custom menu"; | |||
zshell("ack","xdg-open %s/custom_menu",get_zhomedir()); | zshell("ack","xdg-open %s/custom_menu",get_zhomedir()); | |||
return; | return; | |||
} | } | |||
End of changes. 36 change blocks. | ||||
342 lines changed or deleted | 329 lines changed or added |