[Gambas-bugtracker] Bug #2733: ListView - Scrolling at the moment of Selection
    bugtracker at gambaswiki.org 
    bugtracker at gambaswiki.org
       
    Mon Apr 10 14:23:48 CEST 2023
    
    
  
http://gambaswiki.org/bugtracker/edit?object=BUG.2733&from=L21haW4-
Claus DIETRICH reported a new bug.
Summary
-------
ListView - Scrolling at the moment of Selection
Type             : Bug
Priority         : Medium
Gambas version   : 3.18
Product          : GUI components
Description
-----------
I am using a ListView with station icons for a web-radio application. When I don't
touch the GUI for a while - lets say for something like 10 Minutes - it happens from
time to time, that after having scrolled through the list of radio stations
(with the mouse wheel) the newly selected station is not displayed and the ListView
scrolls to a different position (see attached screen video where it scrolls back
almost to its original position). In such a case it often happens that the selected
station is not the one which was selected.
I use the MouseUp-Event of the ListView for the selection-routine. The 
ListView is set to sorted.
Public Sub ListView1_MouseUp()
  Dim hContext As Object
  Dim hMenuItem As Object
  'For debugging only
  Print
  Print "ListView1.Current.text: "; ListView1.Current.text
  Print "ListView1.Item.Text: "; ListView1.Item.text
  Print "ListView1.FindAt(Mouse.x, Mouse.y) :"; ListView1.FindAt(Mouse.x, Mouse.y)
  Print "ListView1.Selection: ";
  For Each s As String In ListView1.Selection
    Print "key: "; S; " ";
  Next
  Print
  If ListView1.Count = 0 Then Return
  If Mouse.left
    'Ignore selection of radio station is already running
    If ListView1.Current.text = TextLabelName.text Then
      Return
    Endif
    Wait
    StartStream(ListView1.Current.text)
  Else If Mouse.Right
    'Generate the context menu
    hContext = New Menu(Me) As "mnuContext"
  
    'Generate the menu items
    hMenuItem = New Menu(hContext) As "Edit_Item"
    hMenuItem.Text = (("Edit"))
    hMenuItem = New Menu(hContext) As "Delete_Item"
    hMenuItem.Text = (("Delete"))    
  
    'Show context menu
    hContext.Popup
  End If 
  
End
If you need the app I'll send it but you have to import a M3U-playlist
with all stations. I can provide this list and the app has an according
import function.
Best Easter Greetings
Claus
System information
------------------
[System]
Gambas=3.18.1
OperatingSystem=Linux
Distribution=Linux Mint 20.3 Una
Kernel=5.4.0-146-generic
Architecture=x86_64
Cores=4
Memory=7833M
Language=de_DE.UTF-8
Desktop=CINNAMON
DesktopResolution=96
DesktopScale=7
WidgetTheme=mint-y
Font=Ubuntu,10
[Programs]
gcc=gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.6.0
DBus=libdbus-1.so.3.19.11
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2404.16
GStreamer=libgstreamer-1.0.so.0.1603.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2404.16
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.97.0.0
QT5=libQt5Core.so.5.12.8
RSvg=librsvg-2.so.2.47.0
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6
[Environment]
CINNAMON_VERSION=5.2.7
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=cinnamon
DISPLAY=:0
GB_GUI=gb.gtk3
GDMSESSION=cinnamon
GDM_LANG=de_DE
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=14464
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=1
HOME=<home>
LANG=de_DE.UTF-8
LANGUAGE=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LOGNAME=<user>
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_LOGGING_RULES=*.debug=false
QT_QPA_PLATFORMTHEME=qt5ct
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1239,unix/<hostname>:/tmp/.ICE-unix/1239
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=1312
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
XDG_CURRENT_DESKTOP=X-Cinnamon
XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=cinnamon
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7
    
    
More information about the Bugtracker
mailing list