
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
MihPhoto is meant to be a simple touchscreen-friendly image viewer. There a lot of very good image viewers, including many opensource ones, but most of them are very difficult to handle on a touchscreen. This application was designed with touchscreens in mind so it is most useful if you have a touchscreen. To use the application just open an image; then you can use the a swipe gesture to browse trough all the images located in the same folder as the first one.
MihPhoto works best on multitouch devices. On devices (or operating systems) that don't support multitouch, the application also includes a single-touch mode which can be enabled with a command line parameter.
I originally developed this application in my spare time for my personal use. Then I decide to post it here, in the hope that others may find it useful.
7 years ago
1.0.2
- Added thumbnail view
- Updated documentation
1.0.3
- Fixed bug in thumbnail view
1.0.4
- Added configuration window
- Rearranged buttons, added scrollbar
- Fixed several bugs
- Update documentation
1.0.5
(tested on Windows 7 and Linux only, not tested on Symbian)
- fixed problem when changing from image to directory view where the thumbnails would scroll until they reached the current image
- priority load visible thumbnails
- show correct icon in linux taskbar
- reimplement two-finger zoom and rotate (it should be more precise now)
1.0.6
(not tested on Symbian)
- added folders in directory view
- ability to scroll the top icon bar if it's wider than the screen
- added "fit to width/height" buttons (enable them from the configuration dialog)
- fixed bug where the zoom was not correct when starting the application in fullscreen with an image
1.0.7
- fixed bug: the application didn't start with a custom directory
- the application can now be operated with the mouse even if multi-touch mode is active
1.0.8
- added options to customize how thumbnails are displayed (spacing, scaling...)
- added option to configure image sliding speed
- added options to select the position and the font size of the file name
- changed icons
1.0.9
- hide mouse cursor when not used
- new keyboard shortcuts (L/R for rotating the image left/right, DEL to send a file to trash)
- fixed EXIF orientation bug
- made the project compatible with Qt 5.1
1.0.10
- new touch-friendly settings screen (the old settings dialog can still be accessed from the menu when the application is windowed mode)
1.11
- fixed a few more exif orientation bugs
- reduced CPU utilisation when idle
- highlight menu under mouse cursor (thanks to Pascal)
- added animation when switching between image and folder view (thanks to Pascal)
- close picture by zooming out (thanks to Pascal)
- fixed compilation with visual studio compiler
- fixed scrolling in directory view
- fixed moving to the next image after an image was deleted
- fixed keyboard shortcuts
1.12
- added option to disable animations
- added option to show/hide file name on thumbnail page
- thumbnail size can be changed by holding ctrl and scrolling the mouse wheel
- improved antialiasing of images at least on Linux when the image is not rotated
- added drag&drop feature (drop images to MihPhoto window)
- replaced png icons with svg icons and allow the UI to scale automatically based on dpi
- fixed sync bug when waiting for the thumbnail load thread to finish
7 years ago
1.0.2
- Added thumbnail view
- Updated documentation
1.0.3
- Fixed bug in thumbnail view
1.0.4
- Added configuration window
- Rearranged buttons, added scrollbar
- Fixed several bugs
- Update documentation
1.0.5
(tested on Windows 7 and Linux only, not tested on Symbian)
- fixed problem when changing from image to directory view where the thumbnails would scroll until they reached the current image
- priority load visible thumbnails
- show correct icon in linux taskbar
- reimplement two-finger zoom and rotate (it should be more precise now)
1.0.6
(not tested on Symbian)
- added folders in directory view
- ability to scroll the top icon bar if it's wider than the screen
- added "fit to width/height" buttons (enable them from the configuration dialog)
- fixed bug where the zoom was not correct when starting the application in fullscreen with an image
1.0.7
- fixed bug: the application didn't start with a custom directory
- the application can now be operated with the mouse even if multi-touch mode is active
1.0.8
- added options to customize how thumbnails are displayed (spacing, scaling...)
- added option to configure image sliding speed
- added options to select the position and the font size of the file name
- changed icons
1.0.9
- hide mouse cursor when not used
- new keyboard shortcuts (L/R for rotating the image left/right, DEL to send a file to trash)
- fixed EXIF orientation bug
- made the project compatible with Qt 5.1
1.0.10
- new touch-friendly settings screen (the old settings dialog can still be accessed from the menu when the application is windowed mode)
1.11
- fixed a few more exif orientation bugs
- reduced CPU utilisation when idle
- highlight menu under mouse cursor (thanks to Pascal)
- added animation when switching between image and folder view (thanks to Pascal)
- close picture by zooming out (thanks to Pascal)
- fixed compilation with visual studio compiler
- fixed scrolling in directory view
- fixed moving to the next image after an image was deleted
- fixed keyboard shortcuts
1.12
- added option to disable animations
- added option to show/hide file name on thumbnail page
- thumbnail size can be changed by holding ctrl and scrolling the mouse wheel
- improved antialiasing of images at least on Linux when the image is not rotated
- added drag&drop feature (drop images to MihPhoto window)
- replaced png icons with svg icons and allow the UI to scale automatically based on dpi
- fixed sync bug when waiting for the thumbnail load thread to finish
thaenhusen
6 years ago
Is it possible to view multipage tif-files by using mihphoto?
I am not able todo that an a win 8.1 pro Tab.
Everting else is working fine.
Thanke a lot.
Martin
Report
mados123
6 years ago
Thanks!
Report
mados123
6 years ago
Report
liquid0
6 years ago
Report
symbianflo
7 years ago
Report
Bork
7 years ago
This is the best viewer for my windows 8 tablet I was able to find. Thank you!
Do you plan to continue improving it?
If so, is it possible to donate for it?
I have a small issue on Windows 8:
"Open Image" and "Settings" windows are not touchable. They work perfect with mouse but do not respond to touches.
Are you able to fix it?
Thanks,
Boris.
Report
mihplaesu
7 years ago
First of all, thank you for the feedback.
> Do you plan to continue improving it?
I haven't worked to much on this application for the last months: just some bug fixes and porting to the new version of Qt. For now, I don't plan to add any new major feature.
> "Open Image" and "Settings" windows are not touchable. They work perfect
> with mouse but do not respond to touches.
> Are you able to fix it?
I think that by not touchable you mean that these two windows are not touch friendly.
Anyway, the fact that "Open Image" doesn't work well with touch can be easily overcome. Just switch to folder view and browse to the file you want instead of browsing with the open file dialog. You can even launch the application directly in folder view by configuring a custom startup folder in the "Settings" window.
For the "Settings" window, there was no alternative but I implemented a new settings screen that should be touch-friendly. Please checkout the new version 1.0.10 wich contains the new settings screen. The old settings dialog remains available only through the menu if the application is not fullscreen.
I hope the new changes work fine...
Mihai
Report
emrebahis
8 years ago
I tested on Kubuntu 12.04.1 and 12.10 .
Software was opened on 12.04.1 but As you said that QT is not working multitouch still. I could not try your suggestion but the bug is status is "New".
I have a problem on 12.10 . I installed MihPhoto and it works. I saw thumbnail but when I touched or clicked the thumbnail then the picture did not open and I saw on bash "Core dump".
Report
emrebahis
8 years ago
I could see the thumbnails but when I click the thumbnails then I saw error message on bash.
It says "
~/Desktop/hs/MihPhoto/bin $ ./MihPhoto
Cannot load config file
Open File hello.jpg
Open Dir /home/laptop/Pictures
Segmentation fault
"
What can I do?
Report
mihplaesu
8 years ago
I tested the application today on Linux Mint 14 KDE (live cd) trying to reproduce your problem but I couldn't get a segmentation fault. Multi-touch mostly worked, but in some cases I get the "Got touch without getting TouchBegin for id" error.
"Cannot load config file" is not an error. The first time you run the application there is no configuration file so the application just loads the default settings.
Perhaps you can help me reproduce and find the problem. Here are the first ideas I can think of:
- Is there something special about the images you are trying to open? Does the application work well with other images? Does it work well with the same images but on other systems? Can you send me an image that crashes the application?
- Are you using the 32bit or 64bit version of mint? It shouldn't matter, but I want to test using the same configuration.
- Are you compiling the application on the same machine you are using it? How are you compiling it?
- You can send me a core dump so I can analyze the stack to find exactly where the segmentation fault occurs. Add the line "CONFIG += debug" in dev/MihPhoto.pro, then run qmake again and recompile the application (qmake; make clean; make). In bash, execute "ulimit -c unlimited" before running the application. When the application crashes is should create a file named "core" or "core.<pid>". Please send me this file or, if you know to use gdb, you can examine it yourself.
Thank you!
Mihai
Report
emrebahis
8 years ago
I was install my laptop linuxmint-14-kde-dvd-32bit-rc.iso then compile MihPhoto.
Now, I am too busy about my job. I will turn back to my country at 30 of January.
When I will be back then test again and inform you.
Thanks in advance.
Report
emrebahis
8 years ago
I have some questions:
1) I can not work on multitouch with -m parameter. What can I do?
2) When I touch the screen for rotate or zoom with two finger I got following message on bash: "Got touch without getting TouchBegin for id ..." What can I do about this message?
3) How can I change tap sensitive? That means, When I want to 1:1 zoom, I must two tap on screen. But mostly, it perceived one tap and open top menu.
4) How can I change finger position. For example,
one tap will be 1:1 zoom and fit to page, two tap will be open top menu.
Thanks in advance.
Report
mihplaesu
8 years ago
Thank you for the feedback. I was on vacation and I couldn't answer earlier.
1) You said you have tested on Kubuntu 11.10. As far as I know, the X server in that version of Kubuntu doesn't support multitouch. That's unless you have updated the X server to a newer version.
Kubuntu 12.04 however has xorg-server 1.11 with multitouch, but its version of Qt doesn't have multitouch. There is a patch to enable multitouch on Qt on the last Ubuntu, but I haven't tried it. See this article for more info: https://gabrbedd.wordpress.com/2012/07/10/getting-multitouch-qt-on-ubuntu-12-04/
If you want to try it without multitouch, use the "--no-multitouch" flag, but it's not as fun.
2) From what I found on the internet, there is a bug with Qt on ubuntu (https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1007847). I don't use opengl in the application myself, but I use QPainter, which in turn might use opengl do draw things. I don't think there is anything I can do in the application about it.
3) The zoom 1:1 is trigger when Qt sends mouse double-click event to the application. There are always two "mouse press/release" events or "touch begin/end" events before getting a "mouse double-click event". It's normal to have the top menu displayed for a few milliseconds because I haven't (yet) implemented anything to ignore the first taps if a doble-click is coming.
Of course, if the time between the two taps is large enough, there will not be a "mouse doble-click" event. The maximum duration between the clicks in usually configured for the entire system. For example, in Kubuntu, see "System Settings" > "Input devices" > "Mouse" > "Advanced" tab.
4) I haven't implemented this. Again, If I'll have time, I may implement this feature in the next release and an option to configure the desired behavior.
Mihai
Report
emrebahis
8 years ago
I am on holiday.
I will try it on 12.04 or 12.10 as soon as I can then inform again.
Thanks...
Report
mados123
8 years ago
Report
mihplaesu
8 years ago
Thanks for the feedback!
I fixed the problem where the application didn't start with a custom directory. It should work now.
I had already implemented the functionality to use the application with the mouse but it was disabled in previous versions on devices that support multitouch. The reason was that, when the user touched the screen, the application received both a touch event and a mouse event but I never tried to solve this. I just disabled the mouse if touch was present because I wasn't using it anyway. Today, I modified the application to handle both touch and mouse. I haven't tested it much, but I hope it works fine.
These new fixes are in the latest version, 1.0.7.
Report
itou
9 years ago
works on windows 8 also.
Still the best touch photo viewer for tabletPC (mine is ep121 and acer 1420p)
Thanks for updates
Report
howardqui
9 years ago
I also use it for viewing comics.
two suggestions:
1) make a global turn left/right setting. In this way all images in one folder will be rotated and displayed.
2) make a "fit with height" view mode. Some comics images are very wide, full screen view mode is too small to read the dialogue. It should be nice to view images in this fit-with-height mode.
Report
symbianflo
9 years ago
Multumesc si felicitari +1 de la mine.
Report
itou
9 years ago
thanks for this app, I've been searching a while a simply photo viewer for my tabletPC that could do as ipad. Never found any until you app.
Do you continu on its development ?
Report
YAFU
10 years ago
To run Qt applications on a Symbian device, you must install qt_installer.sis
ftp://ftp.qt.nokia.com/qt/symbian/
I hope you find time to further improve the implementation.
Perhaps you can make that the default path to open images is the camera folder. In my case by default opens in E:\Private\ec28b1f2.
I've seen it in other applications implement something to emulate MultiTouch in SingleTouch devices, based on the difference of time when contact is made on the screen at two points on de screen. Perhaps you also can implement that.
Thank you very much.
Report
mihplaesu
10 years ago
I modified the application and updated the download links. Now it tries to guess, on its first run, what the image folder is. On later runs, it will remember the last opened folder.
As about emulating multi-touch on single-touch devices, I like the idea. I'll try to include this feature when I'll have more time to work on this application.
Report