[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