@@ -715,8 +715,10 @@ def showScrollingHelpScreen(self):
715715 #elif c == curses.KEY_ENTER:
716716 elif c in [10 , 13 , curses .KEY_ENTER , 27 , ord ('q' )]: # 27 == escape key
717717 self .playingHelpScreen = False
718-
719- if self .appState .hasMouseScroll :
718+ else :
719+ if not self .appState .hasMouseScroll :
720+ curses .BUTTON5_PRESSED = 0
721+ curses .BUTTON4_PRESSED = 0
720722 if mouseState & curses .BUTTON4_PRESSED : # wheel up
721723 if self .appState .topLine > 0 :
722724 self .appState .topLine = self .appState .topLine - 1
@@ -943,7 +945,9 @@ def startPlaying(self):
943945 pass
944946 realmaxY ,realmaxX = self .realstdscr .getmaxyx ()
945947
946- if self .appState .hasMouseScroll :
948+ if not self .appState .hasMouseScroll :
949+ curses .BUTTON5_PRESSED = 0
950+ curses .BUTTON4_PRESSED = 0
947951 if mouseState & curses .BUTTON4_PRESSED : # wheel up
948952 if self .appState .topLine > 0 :
949953 self .appState .topLine = self .appState .topLine - 1
@@ -1702,6 +1706,8 @@ def mainLoop(self):
17021706 except :
17031707 pass
17041708 if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # we're in the canvas, not playing
1709+
1710+
17051711 if mouseState & curses .BUTTON1_PRESSED :
17061712 if not self .pressingButton :
17071713 self .pressingButton = True
@@ -1721,12 +1727,14 @@ def mainLoop(self):
17211727 self .pushingToClip = False
17221728 self .stdscr .redrawwin ()
17231729
1724- if self .appState .hasMouseScroll :
1725- if mouseState & curses .BUTTON4_PRESSED : # wheel up
1726- self .move_cursor_up ()
1727- elif mouseState & curses .BUTTON5_PRESSED : # wheel down
1728- self .move_cursor_down ()
17291730
1731+ if not self .appState .hasMouseScroll :
1732+ curses .BUTTON5_PRESSED = 0
1733+ curses .BUTTON4_PRESSED = 0
1734+ if mouseState & curses .BUTTON4_PRESSED : # wheel up
1735+ self .move_cursor_up ()
1736+ elif mouseState & curses .BUTTON5_PRESSED : # wheel down
1737+ self .move_cursor_down ()
17301738 elif self .appState .cursorMode == "Move" : # select mode/move the cursor
17311739 self .xy [1 ] = mouseX + 1 # set cursor position
17321740 self .xy [0 ] = mouseY + self .appState .topLine
@@ -2233,21 +2241,23 @@ def showCharSetPicker(self):
22332241 # mask_all = True
22342242 # masks = ['*.*']
22352243 # update file list
2236-
2237- elif self .appState .hasMouseScroll :
2238- if mouseState & curses .BUTTON4_PRESSED : # wheel up
2239- # scroll up
2240- # if the item isn't at the top of teh screen, move it up
2241- if selected_item_number > top_line :
2242- selected_item_number -= 1
2243- elif top_line > 0 :
2244- top_line -= 1
2245- elif mouseState & curses .BUTTON5_PRESSED : # wheel down
2246- # scroll down
2247- if selected_item_number < len (block_list ) - 1 :
2248- selected_item_number += 1
2249- if selected_item_number == len (block_list ) - top_line :
2250- top_line += 1
2244+
2245+ if not self .appState .hasMouseScroll :
2246+ curses .BUTTON5_PRESSED = 0
2247+ curses .BUTTON4_PRESSED = 0
2248+ if mouseState & curses .BUTTON4_PRESSED : # wheel up
2249+ # scroll up
2250+ # if the item isn't at the top of teh screen, move it up
2251+ if selected_item_number > top_line :
2252+ selected_item_number -= 1
2253+ elif top_line > 0 :
2254+ top_line -= 1
2255+ elif mouseState & curses .BUTTON5_PRESSED : # wheel down
2256+ # scroll down
2257+ if selected_item_number < len (block_list ) - 1 :
2258+ selected_item_number += 1
2259+ if selected_item_number == len (block_list ) - top_line :
2260+ top_line += 1
22512261 else : # add to search string
22522262 search_string += chr (c )
22532263 search_string = search_string .lower () # case insensitive search
@@ -2566,20 +2576,23 @@ def openFilePicker(self):
25662576 # reset ui
25672577 selected_item_number = 0
25682578 search_string = ""
2569- elif self .appState .hasMouseScroll :
2570- if mouseState & curses .BUTTON4_PRESSED : # wheel up
2571- # scroll up
2572- # if the item isn't at the top of teh screen, move it up
2573- if selected_item_number > top_line :
2574- selected_item_number -= 1
2575- elif top_line > 0 :
2576- top_line -= 1
2577- elif mouseState & curses .BUTTON5_PRESSED : # wheel down
2578- # scroll down
2579- if selected_item_number < len (file_list ) - 1 :
2580- selected_item_number += 1
2581- if selected_item_number == len (file_list ) - top_line :
2582- top_line += 1
2579+
2580+ if not self .appState .hasMouseScroll :
2581+ curses .BUTTON5_PRESSED = 0
2582+ curses .BUTTON4_PRESSED = 0
2583+ if mouseState & curses .BUTTON4_PRESSED : # wheel up
2584+ # scroll up
2585+ # if the item isn't at the top of teh screen, move it up
2586+ if selected_item_number > top_line :
2587+ selected_item_number -= 1
2588+ elif top_line > 0 :
2589+ top_line -= 1
2590+ elif mouseState & curses .BUTTON5_PRESSED : # wheel down
2591+ # scroll down
2592+ if selected_item_number < len (file_list ) - 1 :
2593+ selected_item_number += 1
2594+ if selected_item_number == len (file_list ) - top_line :
2595+ top_line += 1
25832596 else : # add to search string
25842597 search_string += chr (c )
25852598 for filename in file_list : # search list for search_string
@@ -2906,7 +2919,7 @@ def save(self):
29062919 while prompting :
29072920 # Ask if they want CP437 or Utf-8 encoding
29082921 self .clearStatusLine ()
2909- self .promptPrint (f"File encoding? [C]P437, [U]tf-8? (default: { self .appState .charEncoding } ): " )
2922+ self .promptPrint (f"ANSI file encoding? [C]P437, [U]tf-8? (default: { self .appState .charEncoding } ): " )
29102923 c = self .stdscr .getch ()
29112924 time .sleep (0.01 )
29122925 if c == ord ('c' ):
@@ -3637,14 +3650,16 @@ def startSelecting(self, firstkey=None, mouse=False): # firstkey is the key th
36373650 pass
36383651 realmaxY ,realmaxX = self .realstdscr .getmaxyx ()
36393652 # enable mouse tracking only when the button is pressed
3640- if self .appState .hasMouseScroll :
3641- if mouseState & curses .BUTTON4_PRESSED : # wheel up
3642- if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # in edit area
3643- self .move_cursor_up ()
3644- elif mouseState & curses .BUTTON5_PRESSED : # wheel down
3645- if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # in edit area
3646- self .move_cursor_down ()
3647- elif mouseState == curses .BUTTON1_CLICKED or mouseState & curses .BUTTON_SHIFT :
3653+ if not self .appState .hasMouseScroll :
3654+ curses .BUTTON5_PRESSED = 0
3655+ curses .BUTTON4_PRESSED = 0
3656+ if mouseState & curses .BUTTON4_PRESSED : # wheel up
3657+ if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # in edit area
3658+ self .move_cursor_up ()
3659+ elif mouseState & curses .BUTTON5_PRESSED : # wheel down
3660+ if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # in edit area
3661+ self .move_cursor_down ()
3662+ if mouseState == curses .BUTTON1_CLICKED or mouseState & curses .BUTTON_SHIFT :
36483663 if mouseY < self .mov .sizeY and mouseX < self .mov .sizeX : # in edit area
36493664 self .xy [1 ] = mouseX + 1 # set cursor position
36503665 self .xy [0 ] = mouseY
0 commit comments