Skip to content

Commit 471cd01

Browse files
committed
Bug fixes for issue #8 and last commit. Oops.
1 parent fd876fd commit 471cd01

File tree

4 files changed

+64
-49
lines changed

4 files changed

+64
-49
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Durdraw
55
_| |__ __ _____ __| |_____ _____ __ __ __
66
/ _ | | | __| _ | __| _ | | | |\
77
/_____|_____|__|__|_____|__|___\____|________| |
8-
\_____________________________________________\| v 0.22.3
8+
\_____________________________________________\| v 0.22.4
99

1010

1111
![Durdraw-0 20-demo](https://github.com/cmang/durdraw/assets/261501/ce539865-2e84-4423-92af-cd9ddeeb02ce)

durdraw/durdraw_ui_curses.py

Lines changed: 61 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -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

durdraw/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def undosize(size_s):
2626
raise argparse.ArgumentTypeError("Undo size must be between 1 and 1000.")
2727

2828
def main():
29-
DUR_VER = '0.22.3'
29+
DUR_VER = '0.22.4'
3030
DUR_FILE_VER = 7
3131
DEBUG_MODE = False # debug = makes debug_write available, sends verbose notifications
3232
durlogo = '''

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name='durdraw',
9-
version='0.22.3',
9+
version='0.22.4',
1010
author='Sam Foster',
1111
author_email='samfoster@gmail.com',
1212
description='Animated Color ASCII and Unicode Art Editor',

0 commit comments

Comments
 (0)