Coder Social home page Coder Social logo

lximage-qt's Introduction

LXQt

LXQt is the next generation of LXDE, the Lightweight Desktop Environment. It is the product of the merge between Razor-qt and LXDE-Qt.

About this repository

This is a superproject which contains all LXQt components. After checking out this repo please do the following to initialize git submodules.

git submodule init
git submodule update --remote --rebase

Note: We require git >= 1.8.5

Contributing

If you are interested in helping or joining LXQt, please take a look at our CONTRIBUTING document

Translation

Translations can be done in LXQt-Weblate.

Translation status
Translation status

lximage-qt's People

Contributors

agaida avatar ayhanyalcinsoy avatar brother avatar dglent avatar fat-zer avatar isf63 avatar jleclanche avatar luis-pereira avatar lxqtbot avatar mbouzada avatar micrococo avatar mkljczk avatar nathan-osman avatar p-bo avatar paiiou avatar palinek avatar pcman avatar philippwiesemann avatar rbuj avatar safaalfulaij avatar scootergrisen avatar selairi avatar shlyakpavel avatar smarquespt avatar stefonarch avatar tsujan avatar welaq avatar xiota avatar yarons avatar zoli111 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lximage-qt's Issues

Problem displaying PNG with transparency

lximage-qt, as of git revision 953d069 (running on Slackware 14.1, with qt 4.8.5), doesn't display at least one PNG with a transparent background properly. More specifically, it does display it properly for a split second, but then covers it over with an entirely black square. The PNG file in question is attached.

endlessknot

error: ‘nullptr’ was not declared in this scope

I just recompiled all LXQT and got an error (this did not happen 2 days ago so I suppose it must be in some of the last LXQT commits)

- The C compiler identification is GNU 5.2.0
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building with Qt 5.5.1
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.46.1
-- Checking for module 'libexif'
--   Found libexif, version 0.6.21
-- Checking for modules 'libfm-qt5;libfm>=1.2'
--   Found libfm-qt5, version 0.10.0
--   Found libfm, version 1.2.3
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Checking for module 'xfixes'
--   Found xfixes, version 5.0.1
-- Configuring done

ERROR

32/44] Building CXX object src/CMakeFiles/lximage-qt.dir/mainwindow.cpp.o
FAILED: /usr/bin/c++   -DLIBFM_QT_API=Q_DECL_IMPORT -DLXIMAGE_DATA_DIR=\"/usr/share/lximage-qt\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -isystem /usr/include/qt/QtDBus -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -I/usr/include/gio-unix-2.0 -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtX11Extras -march=x86-64 -fPIC -O2 -pipe -fstack-protector-strong  -DQT_NO_KEYWORDS -fno-exceptions -fPIE   -fPIC -MMD -MT src/CMakeFiles/lximage-qt.dir/mainwindow.cpp.o -MF src/CMakeFiles/lximage-qt.dir/mainwindow.cpp.o.d -o src/CMakeFiles/lximage-qt.dir/mainwindow.cpp.o -c ../src/mainwindow.cpp
In file included from ../src/mainwindow.cpp:39:0:
/usr/include/libfm-qt/path.h: In constructor ‘Fm::Path::Path()’:
/usr/include/libfm-qt/path.h:33:17: error: ‘nullptr’ was not declared in this scope
   Path(): data_(nullptr) {
                 ^
/usr/include/libfm-qt/path.h: In copy constructor ‘Fm::Path::Path(const Fm::Path&)’:
/usr/include/libfm-qt/path.h:41:75: error: ‘nullptr’ was not declared in this scope
   Path(const Path& other): data_(other.data_ ? fm_path_ref(other.data_) : nullptr) {
                                                                           ^
/usr/include/libfm-qt/path.h: In member function ‘Fm::Path Fm::Path::parent()’:
/usr/include/libfm-qt/path.h:106:26: error: ‘nullptr’ was not declared in this scope
     return Path(data_ != nullptr ? fm_path_get_parent(data_) : nullptr, false);
                          ^
[32/44] Building CXX object src/CMakeFiles/lximage-qt.dir/application.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

Crash when loading consecutive images quickly

If you open an image from a folder that has other images, lximage-qt crashes if you pass quickly to the next/previous pressing keyboard right/left. It's even easier when quickly scrolling up/down with mouse wheel.

Add webp support

Would be really nice - and right now the only viewers i know for webp are current browsers

When deleting a Picture: Add Feature to auto-delete corresponding RAW File

Assumed I have a folder with *.JPEG files beside of their belonging RAW files (e.g. *.CR2, *.NEF or *.RAF). The pairs all have the same file name, but with different file extension.

If I now delete a *.JPEG file (because it is unsharp for example), it would be a great feature if LXImage could provide an option to simultaneously delete the corresponding RAW file as well.

For example: Typical procedure - viewing images in the viewer and finding an unsharp image when watching them in fullscreen mode: Click the "Delete"-button on the keyboard and after deletion confirmation, LXImage will likewise delete the corresponding RAW file automatically.

System Information
  • Distribution & Version: Debian 9 (Stretch)
  • Kernel: 4.9.0-8-amd64
  • Qt Version: 5 (?)
  • libfm-qt Version: not installed
  • libqtxdg Version: not installed
  • lxqt-build-tools Version: not installed
  • Package version: 0.5.1-1

Thank you very much for your efforts! :-)

set permission bits 644 instead of 600 when saving files

LXImage-Qt is setting permission bits 600 whenever it's saving files. This should be changed to 644.

Latest Git code of all LXQt components on Arch Linux i686 and x86_64. Problem isn't due to OS as all kinds of other applications run by the same user do set 644 by default.

Don't pollute the org.lxde namespace

src/CMakeLists.txt:    org.lxde.LxImage.Application.xml
src/application.cpp:static const char* serviceName = "org.lxde.LxImage";
src/application.cpp:static const char* ifaceName = "org.lxde.LxImage.Application";
src/org.lxde.LxImage.Application.xml:  <interface name="org.lxde.LxImage.Application">

Dunno if that is the best of all ideas

possible build failure with latest libfm-qt

I think lximage-qt doesn't compile with latest libfm-qt:

[  104s] cd "/home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/build/src" && /usr/bin/c++  -DLXIMAGE_DATA_DIR=\"/usr/share/lximage-qt\" -DLXIMAGE_VERSION=\"0.6.0\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -I"/home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/build/src" -I"/home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/src" -I"/home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/build/src/lximage-qt_autogen/include" -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/libfm -isystem /usr/include/menu-cache -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtSvg  -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -fno-exceptions -Wall -Wextra -Wchar-subscripts -Wno-long-long -Wpointer-arith -Wundef -Wformat-security -Wnon-virtual-dtor -Woverloaded-virtual -Wpedantic -std=c++11 -O2 -g -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden   -fPIC -std=gnu++11 -o CMakeFiles/lximage-qt.dir/application.cpp.o -c "/home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/src/application.cpp"

[  104s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.6.0~git8.9d1c24a/src/mainwindow.cpp:42:10: fatal error: libfm-qt/path.h: No such file or directory

[  104s]  #include <libfm-qt/path.h>>

If GitHub webhooks and OBS worked correctly all should be current git. I retriggered the build manually for both libfm-qt and lximage-qt too (which triggers a rebuild for all deps).

Full log here: https://build.opensuse.org/build/X11:LXQt:git/openSUSE_Tumbleweed/x86_64/lximage-qt/_log

System Information
  • Distribution & Version: openSUSE Tumbleweed
  • Kernel: openSUSE Tumbleweed
  • Qt Version: 5.10.0
  • libfm-qt Version: latest git
  • libqtxdg Version: latest git
  • lxqt-build-tools Version: latest git
  • Package version: latest git

Capture an area of the screen.

I have just upload to screenshot-region branch an screenshot option. It only captures an area of the screen. If nobody is against, I will merge to master branch.
screenshotarea

LXImage does not consider PCManFM-Qt's Sorting set by "View" -> "Sorting" -> "Sort by"

Assumed I have different picture file types in one folder (for example *.JPEG mixed with *.PNG) and the pairs have same names only with different file extensions:

-- Directory
----> picture1.jpg
----> picture1.png
----> picture2.jpg
----> picture2.png
----> picture3.jpg
----> picture3.png

When sorting these pictures in PCManFM-Qt with "View" -> "Sorting" -> "By File Type" and afterwards opening the pictures in LXImage, the presenter window does not consider the previously selected sorting variant. This behavior can be seen if one opens a random *.JPEG-picture and moves on to the next picture by clicking the right arrow: The same picture will appear again (this time with its corresponding file pendant *.PNG).

Expected Behavior

Presenter should display the pictures in selected order set by PCManFM-Qt's "Sorting" setting. So if I click on a *.JPEG file and have selected "Sorting by file type", I would expect that the next *.JPEG file will appear (but not *.PNG).

Current Behavior

Image viewer does NOT consider the selected "Sorting" variant. Currently the presenter is always showing pictures sorted by name, independent of the configured setting in "View" -> "Sorting".

Possible Solution

Maybe just some configuration?

Context

This bug appears everytime I want to watch pictures with desired sorting variant.

System Information
  • Distribution & Version: Debian 9 (Stretch)
  • Kernel: 4.9.0-8-amd64
  • Qt Version: 5 (?)
  • libfm-qt Version: not installed
  • libqtxdg Version: not installed
  • lxqt-build-tools Version: not installed
  • Package version: 0.5.1-1

Thank you very much for your efforts! :-)

add summary to copyright header

In lximage-qt most of the source files don't have a summary or copyright notice in the source directory. It still has the default comment of <one line to give the program's name and a brief idea of what it does.> in the files might be good to add a summary like a lightweight image veiwer for lxqt.

cmake error "package 'libfm-qt' not found" resolved (?), linking cxx executable fails: "ld returned 1 exit status"

setup:
menu-cache: ./configure --prefix=/usr
libfm: ./configure --without-gtk --sysconfdir=/etc --prefix=/usr
pcmanfm-qt: installed in /usr/local


build # cmake ..
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.5") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'glib-2.0'
--   found glib-2.0, version 2.38.2
-- checking for module 'libexif'
--   found libexif, version 0.6.21
-- checking for modules 'libfm-qt;libfm>=1.2'
--   package 'libfm-qt' not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:284 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:338 (_pkg_check_modules_internal)
  CMakeLists.txt:22 (pkg_check_modules)


-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- checking for module 'xfixes'
--   found xfixes, version 5.0.1
-- Configuring incomplete, errors occurred!
See also "/var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeOutput.log".
See also "/var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeError.log".

build # less /var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeError.log | grep -i error
/var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_WIN’ was not declared in this scope
gmake[1]: *** [CMakeFiles/cmTryCompileExec2861008438.dir/CheckSymbolExists.cxx.o] Error 1
gmake: *** [cmTryCompileExec2861008438/fast] Error 2
/var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_QWS’ was not declared in this scope
gmake[1]: *** [CMakeFiles/cmTryCompileExec838586097.dir/CheckSymbolExists.cxx.o] Error 1
gmake: *** [cmTryCompileExec838586097/fast] Error 2
/var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_MAC’ was not declared in this scope
gmake[1]: *** [CMakeFiles/cmTryCompileExec3483612841.dir/CheckSymbolExists.cxx.o] Error 1
gmake: *** [cmTryCompileExec3483612841/fast] Error 2
build # less /var/lib/gitcustoms/lximage-qt/build/CMakeFiles/CMakeError.log | grep -i fail
Determining if the Q_WS_WIN exist failed with the following output:
CMakeFiles/cmTryCompileExec2861008438.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec2861008438.dir/CheckSymbolExists.cxx.o' failed
Makefile:117: recipe for target 'cmTryCompileExec2861008438/fast' failed
Determining if the Q_WS_QWS exist failed with the following output:
CMakeFiles/cmTryCompileExec838586097.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec838586097.dir/CheckSymbolExists.cxx.o' failed
Makefile:117: recipe for target 'cmTryCompileExec838586097/fast' failed
Determining if the Q_WS_MAC exist failed with the following output:
CMakeFiles/cmTryCompileExec3483612841.dir/build.make:60: recipe for target 'CMakeFiles/cmTryCompileExec3483612841.dir/CheckSymbolExists.cxx.o' failed
Makefile:117: recipe for target 'cmTryCompileExec3483612841/fast' failed

partial "solution":
installed pcmanfm-qt in /usr with:

pcmanfm-qt/build # cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..

(which seemed appropriate if like in my case libfm resides in /usr)
then (after "pcmanfm-qt/build # make && make install && ldconfig")

lximage-qt/build # cmake ..
completes without error.

(alternatively: pcmanfm-qt installed in /usr/local: "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig" prior to executing "lximage-qt/build # cmake ..")

but (in both cases):

lximage-qt/build # make
[  2%] Automoc for target lximage-qt
[  2%] Built target lximage-qt_automoc                                                                                                                                                                            
Linking CXX executable lximage-qt
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtGui                                                                                                                
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtDBus
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtXml
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtCore
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtGui
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtDBus
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtXml
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lQtCore
collect2: error: ld returned 1 exit status
src/CMakeFiles/lximage-qt.dir/build.make:511: recipe for target 'src/lximage-qt' failed
make[2]: *** [src/lximage-qt] Error 1
CMakeFiles/Makefile2:80: recipe for target 'src/CMakeFiles/lximage-qt.dir/all' failed
make[1]: *** [src/CMakeFiles/lximage-qt.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2

running "lximage-qt/build # cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .." instead of "lximage-qt/build # cmake .." makes no difference either.

"# libtool --finish /usr/lib64" also didn't help.

any advise?


edit2:
libQtCore.so, libQtGui.so, libQtXml.so, libQtDBus.so located in /usr/lib64/qt4/ and linked to the respective .so.4.8.5


edit: removed: how i got there

Crash while saving a screenshot

lximage-qt crashed while saving a screenshot taken by it:

#0  0x00007f598cce78b0 in fm_file_info_get_path () at /usr/lib/libfm.so.4
#1  0x00007f598ccea32f in  () at /usr/lib/libfm.so.4
#2  0x00007f598c6f8f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#3  0x00007f598c70af82 in  () at /usr/lib/libgobject-2.0.so.0
#4  0x00007f598c713bcc in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#5  0x00007f598c713faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#6  0x00007f598ccfba30 in  () at /usr/lib/libfm.so.4
#7  0x00007f598c42043a in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#8  0x00007f598c4207f0 in  () at /usr/lib/libglib-2.0.so.0
#9  0x00007f598c42089c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#10 0x00007f598b04946f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Core.so.5
#11 0x00007f598aff2e9a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#12 0x00007f598affb39c in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#13 0x00000000004111e1 in  ()
#14 0x00007f598e2b0291 in __libc_start_main () at /usr/lib/libc.so.6
#15 0x00000000004116fa in _start ()

The crash didn't happen afterward. It should be random and rare. It's probably a bug in libfm.

Sorting order

Please provide sorting order selection.
At least:

  • Name
  • Natural number
  • File date
  • EXIF date
  • Size
  • Type.

In forward and reversed direction.

Already set screenshot filename

After taking a screen shot and hitting OK, an image viewer appears with the unsaved screen shot.
After selecting save, there is a file-save dialog on which the filename is blank.

Expected Behavior

I was able to take screenshots by pressing the print button and it directly saved it with time stamp as filename and with not dialog window as seen here #91 (comment) . The only issue there was, that it only saved to the home directory and not the one for images.

Current Behavior

It now takes more steps to do the same action as before.

Possible Solution

Is there a command I could utilize on lximage-qt that can set date and time within the command as before and to customize the global key shortcuts?

Context

I'm currently putting effort in naming each and every screenshot by hand, which is slower and cumbersome.
images edited

System Information
  • Distribution & Version: Debian GNU/Linux 9.2 (stretch/stable) , lxqt 0.11.1 [fresh install]
  • Kernel: 4.9.0-4-amd64
  • Qt Version: 5.7.1
  • libfm-qt Version: N/A
  • libqtxdg Version: N/A
  • lxde-build-tools Version: N/A
  • Package version: lximage-qt 0.5.1

broken git build due to libfm-qt change

I think commit lxqt/libfm-qt@3eae3c9 broke the git build of lximage-qt.

[  115s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/src/mainwindow.cpp: In member function 'void LxImage::MainWindow::on_actionSaveAs_triggered()':
[  115s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/src/mainwindow.cpp:304:85: error: no matching function for call to 'Fm::Path::displayName()'
[  115s]    QString fileName = saveFileName(currentFile_ ? Fm::Path(currentFile_).displayName() : QString());
[  115s]                                                                                      ^
[  115s] In file included from /home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/src/mainwindow.cpp:40:0:
[  115s] /usr/include/libfm-qt/path.h:321:9: note: candidate: char* Fm::Path::displayName(gboolean)
[  115s]    char* displayName(gboolean human_readable) {
[  115s]          ^~~~~~~~~~~
[  115s] /usr/include/libfm-qt/path.h:321:9: note:   candidate expects 1 argument, 0 provided
[  115s] [ 59%] Building CXX object src/CMakeFiles/lximage-qt.dir/imageview.cpp.o
[  115s] cd "/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/build/src" && /usr/bin/c++   -DLIBFM_DATA_DIR=\"/usr/share/libfm\" -DLXIMAGE_DATA_DIR=\"/usr/share/lximage-qt\" -DLXIMAGE_VERSION=\"0.4.0\" -DLXQT_DATA_DIR=\"/usr/share\" -DLXQT_ETC_XDG_DIR=\"/etc/xdg\" -DLXQT_GRAPHICS_DIR=\"/usr/share/lxqt/graphics\" -DLXQT_RELATIVE_SHARE_DIR=\"lxqt\" -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"lxqt/translations\" -DLXQT_SHARE_DIR=\"/usr/share/lxqt\" -DLXQT_SHARE_TRANSLATIONS_DIR=\"/usr/share/lxqt/translations\" -DLXQT_VERSION=\"0.10.0\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_NO_KEYWORDS -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -I"/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/build/src" -I"/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/src" -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/menu-cache -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtSvg  -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -DNDEBUG -fno-exceptions -Wall -std=c++11 -fPIE -fvisibility=hidden -fvisibility-inlines-hidden   -fPIC -o CMakeFiles/lximage-qt.dir/imageview.cpp.o -c "/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/src/imageview.cpp"
[  116s] make[2]: *** [src/CMakeFiles/lximage-qt.dir/build.make:123: src/CMakeFiles/lximage-qt.dir/mainwindow.cpp.o] Error 1
[  116s] make[2]: *** Waiting for unfinished jobs....
[  117s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/build'
[  117s] make[1]: *** [CMakeFiles/Makefile2:90: src/CMakeFiles/lximage-qt.dir/all] Error 2
[  117s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/lximage-qt-0.4.0~git49.8e5fce8/build'
[  117s] make: *** [Makefile:153: all] Error 2
[  117s] error: Bad exit status from /var/tmp/rpm-tmp.5tnEgo (%build)

I suppose wrapper should be used here.

Fix some appdata's

src/CMakeLists.txt:    org.lxde.LxImage.Application.xml
src/mainwindow.cpp:                     "LXDE Project: http://lxde.org/\n\n"
src/application.cpp:static const char* serviceName = "org.lxde.LxImage";
src/application.cpp:static const char* ifaceName = "org.lxde.LxImage.Application";
src/org.lxde.LxImage.Application.xml:  <interface name="org.lxde.LxImage.Application">

Should be lxqt - but i don't know if that would break something.

Image deletion and jumping forward are not consistent

When deleting a currently opened picture the image viewer does not automatically jump forward to the next image. It still hangs at the "deleted" picture which has already been moved to trash bin. Therefore I have to press the "right arrow"-button on the keyboard to move to the next picture.

Expected Behavior

After deleting a picture, image viewer should move to the next picture automatically and display this one (instead of the deleted one).

Current Behavior

Image viewer does NOT jump forward to the next picture.

Possible Solution

Maybe just some configuration?

Context

This bug appears everytime when deleting pictures. For example, coming back home from holidays: Loading your pictures from the camera onto the computer and checking, which pictures are nice and which are not. In these cases I always delete the pictures when having them opened in fullscreen mode, so I can see wether they are sharp or not. When deleting a picture which is currently opened, the viewer still hangs at this picture (although it is already moved to trash bin) and I have to move onward by myself.

System Information
  • Distribution & Version: Debian 9 (Stretch)
  • Kernel: 4.9.0-8-amd64
  • Qt Version: 5 (?)
  • libfm-qt Version: not installed
  • libqtxdg Version: not installed
  • lxqt-build-tools Version: not installed
  • Package version: 0.5.1-1

Thank you very much for your efforts! :-)

Bad in-zooming of SVG files

I open this issue to fix it later.
When an SVG image is zoomed in by lximage-qt, it gets blurred. But it should remain sharp -- it's SVG after all.

Show the image size on status-bar

It's a useful info the users want to know quickly.

Showing it on the title-bar isn't useful because it may be hidden inside the elided part. Actually, I think we should remove it from title-bar and put it on the status-bar.

Maybe, other useful info should be added to the status-bar too. As far as I see, it isn't used at all.

Add Support for *.CR2, *.NEF and *.RAF File Extensions

The previous LXDE Image Viewer had the skill to open and display CR2 file types (e.g. from Canon DSLR's). Could you add such a feature to LXImage as well?

System Information
  • Distribution & Version: Debian 9 (Stretch)
  • Kernel: 4.9.0-8-amd64
  • Qt Version: 5 (?)
  • libfm-qt Version: not installed
  • libqtxdg Version: not installed
  • lxqt-build-tools Version: not installed
  • Package version: 0.5.1-1

Thank you very much for your efforts! :-)

Add more shortcuts

Add some keyboard shortcuts, like for example:
Esc -> exit;
h -> flip horizontally;
r -> rotate clockwise,
l -> rotate counter clockwise,
space -> next image;
backspace -> previous image;
Show/Hide toolbar -> ctrl + t
etc.

GPicView is a good reference.

Set as wallpaper

It will be nice to have an option to set the current image as wallpaper.

Drag-And-Drop

LXImage-Qt should support file DND.

I opened this to fix it later.

"Non-Solid" Background

Expected Behavior

An option for removing the solid background and showing the image like this (not an lximage-qt screenshot):

solid

It is useful especially for checking the translucent parts of the image (like shadows).

Current Behavior

Currently, there's only a solid background.

Possible Solution

I've done it elsewhere; should look (again) into lximage-qt's code.

Gif files

The program doesn't play gif files. When I open a gif file,it shows the first frame.

Reload Button

Expected Behavior

A reload button is very needed. For example, you may edit an SVG image manually and want to see the result; you shouldn't have to open it again.

Current Behavior

There's no reload button.

Typo

Zoom is misspelled as "Zoomo", I can fork and correct it but it is misspelled in the translations too so the respective translators must be notified and they should update the files as they are responsible for them and I don't want to mess with their work.

Deprecated GIO function

GIOScheduler is deprecated in favor of GThreadPool and GTask but it's still used in lximage-qt → job.cpp.

Could someone knowledgeable about GIO fix it, please?

Can overwrite an existing image without prompt on saving

Expected Behavior

lximage-qt shouldn't overwrite any image without prompt while saving.

Current Behavior

It can overwrite without prompt when the chosen save name doesn't have any extension.

Possible Solution

Check for the existence of the image and show a prompt when needed.

Steps to Reproduce (for bugs)
  1. Put an image with the name X.png in some folder.
  2. Open another image with lximage-qt and save it with the name X but without an extension into that folder.
  3. It'll be saved with the name X.png and will overwrite the previous image without prompt.
System Information
  • Every LXQt component is the latest.

Slideshow delay allows zero delay value

lximageallows a slidshow delay of zero to be set in the prefrences which doesn't really make a sensible slideshow that changes pictures and instead ends up using 100 percent cpu for a single core switching the images as fast as the cpu goes which could lead to someone thinking they are clever than quickly running out of battery on a laptop or overheating there system maybe. I think a fix might be to take the maximum of 1 and settings.slideShowInterval() in lximage-qt/src/prefrences-dialog on line 40. Or someone presses a key and hits 0 on accident and starts the slideshow would result in a system using 100 percent cpu.

Problems with image fitting

With this issue, I start to tell about lximage-qt problems I've found over years (sorry that I can't use the issue template for this).

  • The images fitting isn't preserved when you make a big image full-screen and then un-full-screen. (Fixed)

  • There is no indication in the GUI about fitting. You should guess that by seeing the image and you might be wrong.

  • Fitting by enlarging (I call it "Force Fitting") doesn't exist. It's useful especially with small SVG images.

  • Fitting without keeping proportions is missing. It's useful when, for example, you want to see how a nature image will look like as your wallpaper. Keeping the proportions isn't important for all kinds of images.

  • The current toolbar design isn't handy (fitting is between other buttons):

    toolbar

    "Original size" should be beside zoom buttons, zoom buttons should be separated from other buttons,..., like this (not a screenshot of lximage-qt):

    toolbar1

I might add other cases to the list later.

Remember window position/size across program restarts

It would be really great if LXImage could remember the position and size of the window across program restarts.
Windows image viewers like Irfanview already have this capability too.

Expected Behavior

You move the window to your preferred position, and resize it to what you're comfortable with. Close the program, open it back up, and it's where you left it.
The window position/size is stored in the config files somewhere.

Current Behavior

Currently, if you do the above, than the window opens at a default position and size, often spanning multiple monitors if you have such a setup.

When viewing Images: Preserve current View Settings when moving on to next Image

Assumed you are viewing an image in 100 % size to verify its sharpness. Afterwards you move on to the next picture to compare its sharpness with the first one.

Now it would be nice if the next picture could still be displayed in 100 % view size and in similar scrolled position of the previous image.

Maybe you could add an option with a checkmark to preserve position and view ratio for the following images? This button could be called "Comparison Mode" or something similar. When activated, the previous view size (e.g. 100 %), image position and viewed part of the image could be kept. With this it would be very easy to compare the sharpness between two images at a specific point.

System Information
  • Distribution & Version: Debian 9 (Stretch)
  • Kernel: 4.9.0-8-amd64
  • Qt Version: 5 (?)
  • libfm-qt Version: not installed
  • libqtxdg Version: not installed
  • lxqt-build-tools Version: not installed
  • Package version: 0.5.1-1

Thank you very much for your efforts! :-)

LXImage charactercoding error

LXImage viewer open file panel character coding error. Picture attached.
lximageviewer_charactercoding_fails

LXImage about window screenshot:
lximage_about

"echo $LANG" command returns nothing.

Compile error

Guys is it possible that I broke lximage-qt with lxqt/libfm-qt#83 ?

Compilation output:

[   87s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.cpp: In constructor 'LxImage::MainWindow::MainWindow()':
[   87s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.cpp:61:32: error: invalid new-expression of abstract class type 'LxImage::ModelFilter'
[   87s]    modelFilter_(new ModelFilter()),
[   87s]                                 ^
[   87s] In file included from /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.h:35:0,
[   87s]                  from /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.cpp:21:
[   87s] /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/modelfilter.h:28:7: note:   because the following virtual functions are pure within 'LxImage::ModelFilter':
[   87s]  class ModelFilter: public Fm::ProxyFolderModelFilter {
[   87s]        ^~~~~~~~~~~
[   87s] In file included from /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.h:32:0,
[   87s]                  from /home/abuild/rpmbuild/BUILD/lximage-qt-0.5.1~git1.c0d61ee/src/mainwindow.cpp:21:
[   87s] /usr/include/libfm-qt/proxyfoldermodel.h:41:18: note: 	virtual bool Fm::ProxyFolderModelFilter::filterAcceptsRow(const Fm::ProxyFolderModel*, const std::shared_ptr<const Fm::FileInfo>&) const
[   87s]      virtual bool filterAcceptsRow(const ProxyFolderModel* model, const std::shared_ptr<const Fm::FileInfo>& info) const = 0;

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.