brezerk / q4wine

Q4Wine is a Qt GUI for W.I.N.E. It will help you manage wine prefixes and installed applications.
http://q4wine.brezblock.org.ua/
GNU General Public License v3.0
207 stars 40 forks source link

Improve all dialogs of choosing files #139

Open tehnick opened 5 years ago

tehnick commented 5 years ago

When you call QFileDialog::getOpenFileName() the current value from QLineEdit should be used if it is not empty (but even if it is empty Qt library will resolve this situation in a proper way).

Currently usage (of some) of these dialogs is not convenient. For example: screenshot_20180928_144300 If you click on choosing file button QFileDialog::getOpenFileName() will be open with a path into home directory instead of path to /usr/lib/wine/wine64...

tehnick commented 5 years ago

Not related to bug report, but you may be interested... In Debian and distros based on it WINE in currently packaged by this way:

$ ls -alp /usr/bin/wine*
lrwxrwxrwx 1 root root     22 авг 29  2016 /usr/bin/wine -> /etc/alternatives/wine
lrwxrwxrwx 1 root root     24 авг 29  2016 /usr/bin/wine64 -> /etc/alternatives/wine64
lrwxrwxrwx 1 root root     18 июл 24 03:48 /usr/bin/wine64-stable -> ../lib/wine/wine64
lrwxrwxrwx 1 root root     26 авг 29  2016 /usr/bin/wineboot -> /etc/alternatives/wineboot
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/wineboot-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     25 авг 29  2016 /usr/bin/winecfg -> /etc/alternatives/winecfg
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/winecfg-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     29 авг 29  2016 /usr/bin/wineconsole -> /etc/alternatives/wineconsole
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/wineconsole-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     25 авг 29  2016 /usr/bin/winedbg -> /etc/alternatives/winedbg
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/winedbg-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     26 авг 29  2016 /usr/bin/winefile -> /etc/alternatives/winefile
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/winefile-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     26 авг 29  2016 /usr/bin/winepath -> /etc/alternatives/winepath
lrwxrwxrwx 1 root root     25 июл 24 03:48 /usr/bin/winepath-stable -> ../lib/wine/wineapploader
lrwxrwxrwx 1 root root     28 авг 29  2016 /usr/bin/wineserver -> /etc/alternatives/wineserver
lrwxrwxrwx 1 root root     22 июл 24 03:48 /usr/bin/wineserver-stable -> ../lib/wine/wineserver
-rwxr-xr-x 1 root root   1019 июл 24 03:48 /usr/bin/wine-stable
-rwxr-xr-x 1 root root 723026 июн  3 17:55 /usr/bin/winetricks

$ ls -alp /usr/lib/wine/
итого 1152
drwxr-xr-x   2 root root   4096 авг  8 11:44 ./
drwxr-xr-x 151 root root  20480 сен 25 12:54 ../
-rwxr-xr-x   1 root root  13692 июл 24 03:48 wine
-rwxr-xr-x   1 root root  14352 июл 24 03:48 wine64
-rwxr-xr-x   1 root root  17192 июл 24 03:48 wine64-preloader
-rwxr-xr-x   1 root root    115 июл 24 03:48 wineapploader
-rwxr-xr-x   1 root root  16988 июл 24 03:48 wine-preloader
-rwxr-xr-x   1 root root    351 июл 24 03:48 wineserver
-rwxr-xr-x   1 root root 517788 июл 24 03:48 wineserver32
-rwxr-xr-x   1 root root 551464 июл 24 03:48 wineserver64
tehnick commented 5 years ago

Installed packages:

$ dpkg -l | grep wine | grep -v kwin
ii  fonts-wine                                    3.0.2-3                                 all          Windows API implementation - fonts
ii  libwine:amd64                                 3.0.2-3                                 amd64        Windows API implementation - library
ii  libwine:i386                                  3.0.2-3                                 i386         Windows API implementation - library
ii  q4wine                                        1.3.10-1                                amd64        Qt GUI for WINE
ii  wine                                          3.0.2-3                                 all          Windows API implementation - standard suite
ii  wine-binfmt                                   3.0.2-3                                 all          Activate Wine as interpreter for Windows executables
ii  wine32:i386                                   3.0.2-3                                 i386         Windows API implementation - 32-bit binary loader
ii  wine32-preloader:i386                         3.0.2-3                                 i386         Windows API implementation - prelinked 32-bit binary loader
ii  wine64                                        3.0.2-3                                 amd64        Windows API implementation - 64-bit binary loader
ii  wine64-preloader                              3.0.2-3                                 amd64        Windows API implementation - prelinked 64-bit binary loader
ii  winetricks                                    0.0+20180603-1                          all          package manager for Wine to install software easily
brezerk commented 5 years ago

Fixup dialog's initial value https://github.com/brezerk/q4wine/commit/783634d61411f074c075438e5655637398bbda39

brezerk commented 5 years ago

jfyi: https://github.com/brezerk/q4wine/issues/140

tehnick commented 5 years ago

It does not work as expected.

When user see current path as /usr/lib/wine/wine64 (s)he expect that in path choosing dialog would be opened exactly this path, but not the path that he have chose previously in completely another place of settings dialog...

tehnick commented 5 years ago

Also in "Wine Version Manager" dialog nothing have been changed at all: each time open file dialog opens in user home directory.

brezerk commented 5 years ago

hi @tehnick

yea, I missed Version Manager for some reason.

is the the first report about '/usr/lib/wine/wine64' related to 'Wine Version Manager' too?

tehnick commented 5 years ago

is the the first report about '/usr/lib/wine/wine64' related to 'Wine Version Manager' too?

This is just a sample. I was lazy to invent a new one...

tehnick commented 5 years ago

Hmm, probably I have made conclusion too quickly. I have just re-checked and in other places file choosing dialogs work fine. And as for opening of empty path it looks like this is a Qt feature: open file dialog will be opened in last path which was used previously during current session of work with a program.

DanielRios549 commented 5 years ago

One thing that everybody would like is an option to choose folders, and auto-add wines from this folders, for example, let's suppose I added the folder "~/.local/share/lutris/runners/wine", so every time Q4wine detects a folder inside this one, it will verify if it is a wine folder, and add it automatically.