"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "f.widgets.cc" between
fotoxx-23.0.tar.gz and fotoxx-23.1.tar.gz

About: fotoxx is a program for photo editing and collection management.

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

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)