Giter Club home page Giter Club logo

Comments (38)

nick-s-b avatar nick-s-b commented on May 23, 2024 4

@easymodo new qimgv is absolutely amazing! Just got back from a vacation and noticed there's a new version so I compiled it. Pretty much everything is now in it. It works flawlessly! New UI is superb! Thank you so much for all this hard work! This is now the best viewer I've ever used.

I do have one small request: drag & drop. Say you have an image open... in viewers like EOG/Xviewer, you can drag the image and it will copy it wherever you drop it. You can also drag it to a "File upload" field of all of the browsers. That's super handy when you want to post an image somewhere.

Anyway, now that there's Trash support, I've associated qimgv with all of the image files! Thank you!!!

from qimgv.

easymodo avatar easymodo commented on May 23, 2024 2

This should be pretty easy, will add as an option for next release

from qimgv.

easymodo avatar easymodo commented on May 23, 2024 1

Thanks a lot for the feedback!

Delete/trash support.

I already have this in dev branch, as well as quick copy/move for image sorting. Just need to implement a confirmation before deleting.

and if it's smaller, it should be zoomed so it fills width or height

I will add this in future, though not as default behavior. A shortcut/toggle should suffice.

Pressing the Esc key while in full-screen should drop the viewer into windowed mode.

Fair enough.

zoom

Yeah, zoom is shitty right now. There is some old spaghetti code i plan on rewriting, so that will be fixed.

Lanczos

Agreed, bilinear does not look very good right now. I'll look into it.

coming webm support

It already works, just need to fix the thumbnail creation. Will do it maybe tomorrow.

Thanks again for the suggestions, i really appreciate it.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024 1

Stretching and shrinking of images so they fill the window

Done! (See expand smaller images in settings)

zooming in and zooming out with a mouse does not use mouse pointer as the origin

Fixed!

Also, wish there was more zoom levels

Also done. Up to x8, there is now a slider in settings.


Reset your shortcuts so things work properly (or manually rebind mouse wheel to zoomInCursor / zoomOutCursor)

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024 1

Consider using system fonts instead of hardcoded ones. On HiDPI (4k, 3840x2160) screens thumbnail hints are barely visible.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

Fantastic! And, if there's a modal confirmation for moving to trash, please make it so it can be permanently disabled.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

I plan on going without modal dialogs altogether (hate that shit). You will hold delete for like half a second and it will remove the file.

from qimgv.

dustysys avatar dustysys commented on May 23, 2024

If you're planning on making changes to the scaling please consider enabling/re-implementing the nearest neighbor option (aka fast scaling/no smoothing.) I've been using qimgv but dropping in to MS paint to look at pixel art for years now! Thank you for your continued work on this.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Hi dusty! I'll enable that option, shouldnt be a problem.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo "You will hold delete for like half a second and it will remove the file." what happens if you hold it for longer than that? Will it start deleting other files? Why not just make the keypress normal and have the option in settings to remove the delete warning? That seems a lot more intuitive. It would be annoying to have to hold the key longer to delete something... and that would also slow you down as you move through the files in a folder.

BTW, I'm really interested in how you will implement moving/copying of files. On a Mac, there's this really interesting and excellent image viewer called Xee^3 and it has a slew of all kinds of interesting features and it does copying/moving of files really well. You can see how it looks from this screenshot: https://xee.c3.cx/images/screenshot2.jpg Basically, you use Cmd/Ctrl+ key to move files and Alt+ key to copy files to pre-specified folders. If you have access to a Mac or have OSX in a VM, try that viewer to get a feel of how it works. It gets almost everything right.

from qimgv.

dustysys avatar dustysys commented on May 23, 2024

Great. I agree that deletion should be immediate or the program will feel unresponsive. Even having to hit Tab->Enter to respond to a deletion dialogue for every file is faster and feels better than a delay.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Current copy/move UI mockup.

The idea is that you bring up the panel, set target directories, then use assigned shortcuts to copy (1-9 keys). Directories will be saved, so you dont have to assign them every time.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo looks good! keyboard shortcut are the most important anyway for power users.

BTW, I can't view webms. Have the latest version compiled but I get "Invalid/Missing file". No other messages in any logs that I could see.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Check if you have webms enabled in settings.
They were disabled in previous commits so maybe that's the reason.

Nvm, I think it is fixed now. Please rebuild and try again.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

Thanks! Webms now work after enabling support in Prefs. Prefs were previously disabled for webms..

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

Just compiled the latest version from git... very nice progress! Images now load faster than any other image viewer I've used. Really excellent progress. I've managed to configure keyboard shortcuts for scrubbing through images the way I'm used to.
One thing that's missing is jumping to first/last image. Shortcuts panel is missing something like firstImage and lastImage property. I'd like to bind those to Home/End keys. Other than that, lack of trash (i.e. have some way of undoing a delete) is probably the biggest issue to me. Hope that makes it in at some point. Really nice job @easymodo !

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Added jumpToFirst / jumpToLast.
I'll figure something out about trash support. It seems Qt does not have it.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo came across this: https://stackoverflow.com/questions/17964439/move-files-to-trash-recycle-bin-in-qt
There's some code for Win and Linux.
Another option would be to just allow a generic binding that allows you to specify any command to run and pass the URI of the file to it.

from qimgv.

NSchrading avatar NSchrading commented on May 23, 2024

+1 to all the suggestions here, especially #2 "Stretching and shrinking of images so they fill the window".

I think this viewer has a lot of promise, and love the webm / gif support! I've been using HoneyView for a while, but the developers are no longer adding features, and it has never had webm support, so I think this may be my new go-to viewer. Thanks for your work!

A few suggestions of my own:

  1. An option similar to "infinite scrolling" but instead of looping back in the same directory, it moves to the next available directory. For example, if I have a file structure like the below and I'm viewing images in vacation_1, when I reach the last image in vacation_1, it seamlessly moves to vacation_2.
  • all_images
    • vacation_1
      • [lots of images]
    • vacation_2
      • [lots of images]
    • vacation_3
      • [lots of images]
    • [more directories]
  1. An alternative or addition to my first suggestion: The ability to combine multiple directories into one "mega directory" in the viewer. So, taking the example above, if I selected both vacation_1 and vacation_2 and dropped them into the viewer, it would combine all images in both directories and allow me to view them seamlessly. Keep in mind that with this option, directories don't have to be consecutive, so I could select vacation_1 and vacation_3, skipping vacation_2, and it would show me all images in vacation_1 and vacation_3, but not vacation_2.

  2. A slideshow feature. It would be especially nice to have a random mode where it goes to randomly selected images every X seconds, with X being configurable.

  3. If slideshow is implemented, an option to allow gifs / webms to fully play before moving on, overriding the X second delay before switching images if X seconds is less than the time it takes to play the gif / webm.

  4. If image fitting / stretching / filling is implemented, also an option to view images in parallel if there is enough screen space. Honeyview has this - it calculates if two consecutive images would fit side-by-side and displays both of them if so.

These features would make qimgv the perfect image viewer for me. Thanks again!

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

Fantastic update! I was afraid you might have abandoned this projects so I was overjoyed when I saw a notice. Thanks!

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

That will come in v0.6 in a few days. As well as image editing

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024

Also I can't build the dev branch:

CMake Error at CMakeLists.txt:33 (add_subdirectory):
  The source directory

    /tmp/qimgv/gui/panels/sidepanel

  does not contain a CMakeLists.txt file.

Sorry for the noise here =/

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

That's fine. It was broken because i use qmake for development (for reasons).
Anyway it's fixed now.

Please tell me if anything looks too big/too small on your screen

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024

Eh, it's kinda smaller than things in e.g. qpdfview or wireshark. But that's probably because I'm using QT_SCALE_FACTOR=0.5 + Ubuntu 14 that gives me more space on the screen. Both qpdfview and wireshark follow qt5ct preferences regarding fonts, but in qimgv fonts are hard-coded. Everything else look more or less ok.

P.S. Spaces in the terminal title ([_1_/_2_]) look weird.
P.P.S. For some reason dialogue windows are considered regular windows by my NotIon WM. I'm not observing this with other Qt5 applications.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

I've actually just pushed more ui fixes. It should now use system font size everywhere.


Fixed dialogs (hopefully).

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024

Well... It's kinda too big actually. Here, a screenshot.
comparison

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024

Have you considered using QML? I find it a) almost as fast as widgets b) much more readable than xml.

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Is that screenshot with QT_SCALE_FACTOR=0.5? It's now locked to 1.0 because other values currently produce very bad image quality - i'll need to rewrite some drawing & scaling logic to fix it.
If you set smaller system font size for qt it should look ok.

I've thought about QML but i don't want to lose current ui snappiness. Startup time would get worse too.

from qimgv.

heroin-moose avatar heroin-moose commented on May 23, 2024
  1. Yes, it is QT_SCALE_FACTOR=0.5. Unfortunately, if I set smaller font size it will be barely readable in other Qt5 program.
  2. I failed to notice any startup delay with QML (though I do have a fast nvme). In the recent Qt5 versions QML engine creates a QML cache to reduce the startup time.

from qimgv.

Mel34 avatar Mel34 commented on May 23, 2024

I didn't want to open another issue, since this is on topic of usability suggestions, so I'll just add to this issue;

RFE: Stretching and shrinking qimgv's window geometry to match image size
It's semi-related to @nick-s-b proposal # 2 (Stretching and shrinking of images so they fill the window by default.), but in reverse. I propose to make qimgv's window geometry change to fit the viewed image. Say user is viewing an image with 500x500px dimensions, we make the window 500x500 px. User views the next image and it's dimensions are 500x400, so change the window geometry to match that etc.
Proposal would remove the black sidebars from this image:
screenshot_20180114_003023
End result would be this:
screenshot_20180114_003135

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo any chance of adding "Rename" feature? Something really simple would suffice.

Also, any ETA on adding trash support or a "custom command" that can be bound to any shell command?

Thanks!

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

A week or two probably. Sorry for dragging this out, was kinda busy irl.

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo Yay! No rush. I'm just happy it's coming :)

from qimgv.

Topper30 avatar Topper30 commented on May 23, 2024

Hi ! Fresh user here, I'd like to make this nice little viewer my daily driver :)

Something that is bothering me is that the fullscreen "OSD" with picture size, weight, as well as the parameter icon, all this is staying visible when I'm watching my pretty pictures :(

Could it be possible to make all this disappear at the same time as the mouse cursor ?

from qimgv.

easymodo avatar easymodo commented on May 23, 2024

Could it be possible to make all this disappear at the same time as the mouse cursor ?

Yes. This will be v0.7

Also, here's something for kde users ;)
https://www.youtube.com/watch?v=t1OVejmGR4U

from qimgv.

nick-s-b avatar nick-s-b commented on May 23, 2024

@easymodo sweet! 0.7 should be great!

from qimgv.

Hrxn avatar Hrxn commented on May 23, 2024

I am excited for v0.7 as well... 😄

But I also want to make a suggestion here:

Extend the current image navigation (next/previous, goto first / goto last) with a control command to display images in random order, i.e. moving randomly through the items of the sequence (the "opened" or current working directory) by using a random permutation of this sequence.

Ideally, this is done by a shuffling algorithm like this one: Fisher-Yates Shuffle (Wikipedia).

At best, it should be possible to move in both directions (i.e. next/previous) by keeping the order of the random permutation in memory.

I think it is best to explain this more from the usability perspective.

  • Let's say key X is defined as the command to enter "random mode"
  • So, Press X to start random mode
  • Generate the shuffled oder / random permutation
  • Navigate through this new sequence with the normal keys / shortcuts (i.e. left, right etc.)
  • If you reach the last element of the sequence, either generate a new permutation and start again or drop out of random mode
  • Press X again to drop out of random mode any time

Edit: IIRC, mpv uses such a method for shuffling...
Let me see... yeah, here's the commit that changed it: mpv-player/mpv@b9c48ca

from qimgv.

Hasshu avatar Hasshu commented on May 23, 2024

+1 for EWA Lanczos support.

from qimgv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.