From 667590c0a847cfd6385a9de855311b855eaf2fd4 Mon Sep 17 00:00:00 2001 From: stephena Date: Fri, 30 Sep 2005 22:12:18 +0000 Subject: [PATCH] Changed keystroke for switching between tabs from 'Ctrl-(shift)-tab' to 'Shift left/right cursor', since Ctrl-Tab is usually an OS reserved keystroke. Fixed 'make install' command so it actually installs Stella. Further testing is still required. Fixed graphical glitch whereby focus rectangles weren't being properly drawn around widgets with an attached scrollbar (PromptWidget and ListWidget). I only have 5 or 6 outstanding bugs left. After that, once the TiaOutputWidget is complete, we'll be ready for a new release. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@804 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/Makefile | 112 +++++------------------ stella/configure | 14 +-- stella/src/debugger/gui/PromptWidget.cxx | 13 ++- stella/src/debugger/gui/PromptWidget.hxx | 3 +- stella/src/gui/ListWidget.cxx | 8 +- 5 files changed, 52 insertions(+), 98 deletions(-) diff --git a/stella/Makefile b/stella/Makefile index f0201e16a..32a94d478 100644 --- a/stella/Makefile +++ b/stella/Makefile @@ -13,7 +13,7 @@ ## See the file "license" for information on usage and redistribution of ## this file, and for a DISCLAIMER OF ALL WARRANTIES. ## -## $Id: Makefile,v 1.8 2005-09-18 14:28:17 optixx Exp $ +## $Id: Makefile,v 1.9 2005-09-30 22:12:18 stephena Exp $ ## ## Based on code from ScummVM - Scumm Interpreter ## Copyright (C) 2002-2004 The ScummVM project @@ -64,17 +64,6 @@ all: $(EXECUTABLE) # Various minor settings ###################################################################### -# Files that are to be included in the archive built by "make dist" -DISTFILES := \ - Makefile Makefile.common \ - AUTHORS NEWS README COPYING scummvm.6 Info.plist \ - scumm.dsp scummvm.dsp scummvm.dsw scummvm.icns scummvm.ico \ - scummvm.proj scummvm.rc scummvm.spec scummvm.xpm simon.dsp sky.dsp \ - scummvm.vcproj scumm.vcproj simon.vcproj sky.vcproj scummvm.sln - -# The dist file name -ZIPFILE := scummvm-`date '+%Y-%m-%d'`.zip - # The name for the directory used for dependency tracking DEPDIR := .deps @@ -118,7 +107,7 @@ distclean: clean clean: $(RM) $(OBJS) $(EXECUTABLE) -.PHONY: all clean dist distclean plugins +.PHONY: all clean dist distclean .SUFFIXES: .cxx ifndef HAVE_GCC3 @@ -170,83 +159,30 @@ config.mak: $(srcdir)/configure install: all $(INSTALL) -d "$(DESTDIR)$(BINDIR)" - $(INSTALL) -c -s -m 755 "$(srcdir)/scummvm$(EXEEXT)" "$(DESTDIR)$(BINDIR)/scummvm$(EXEEXT)" - $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man6/" - $(INSTALL) -c -m 644 "$(srcdir)/scummvm.6" "$(DESTDIR)$(MANDIR)/man6/scummvm.6" - $(INSTALL) -d "$(DESTDIR)$(PREFIX)/share/pixmaps/" - $(INSTALL) -c -m 644 "$(srcdir)/scummvm.xpm" "$(DESTDIR)$(PREFIX)/share/pixmaps/scummvm.xpm" - $(INSTALL) -d "$(DESTDIR)$(PREFIX)/share/doc/scummvm/" - $(INSTALL) -c -m 644 "$(srcdir)/AUTHORS" "$(srcdir)/COPYING" "$(srcdir)/NEWS" "$(srcdir)/README" "$(DESTDIR)$(PREFIX)/share/doc/scummvm/" + $(INSTALL) -c -s -m 755 "$(srcdir)/stella$(EXEEXT)" "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)" + $(INSTALL) -d "$(DESTDIR)$(DOCDIR)" + $(INSTALL) -c -m 644 "$(srcdir)/Announce.txt" "$(srcdir)/Changes.txt" "$(srcdir)/Copyright.txt" "$(srcdir)/License.txt" "$(srcdir)/README-PSP.txt" "$(srcdir)/README-SDL.txt" "$(srcdir)/Readme.txt" "$(srcdir)/Todo.txt" "$(srcdir)/docs/stella.html" "$(srcdir)/docs/debugger.html" "$(DESTDIR)$(DOCDIR)/" + $(INSTALL) -d "$(DESTDIR)$(DOCDIR)/graphics" + $(INSTALL) -c -m 644 "$(srcdir)/docs/graphics/chucky_cheese.png" "$(srcdir)/docs/graphics/circuit.png" "$(srcdir)/docs/graphics/console.png" "$(srcdir)/docs/graphics/eventmapping.png" "$(srcdir)/docs/graphics/eventmapping_remap.png" "$(srcdir)/docs/graphics/jr_pacman.png" "$(srcdir)/docs/graphics/launcher_options_rom.png" "$(srcdir)/docs/graphics/launcher_options_snap.png" "$(srcdir)/docs/graphics/launcher.png" "$(srcdir)/docs/graphics/options_about.png" "$(srcdir)/docs/graphics/options_audio.png" "$(srcdir)/docs/graphics/options_gameinfo.png" "$(srcdir)/docs/graphics/options_help.png" "$(srcdir)/docs/graphics/options_video.png" "$(srcdir)/docs/graphics/pacman.png" "$(srcdir)/docs/graphics/rom_browser.png" "$(srcdir)/docs/graphics/secret_quest.png" "$(srcdir)/docs/graphics/space_invaders.png" "$(DESTDIR)$(DOCDIR)/graphics" + $(INSTALL) -d "$(DESTDIR)/etc" + $(INSTALL) -c -m 644 "$(srcdir)/src/emucore/stella.pro" "$(DESTDIR)/etc" + +install-strip: install + strip stella$(EXEEXT) uninstall: - rm -f "$(DESTDIR)$(BINDIR)/scummvm$(EXEEXT)" - rm -f "$(DESTDIR)$(MANDIR)/man6/scummvm.6" - rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/scummvm.xpm" - rm -rf "$(DESTDIR)$(PREFIX)/share/doc/scummvm/" + rm -f "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)" + rm -rf "$(DESTDIR)$(DOCDIR)/" + rm -f "$(DESTDIR)/etc/stella.pro" -scummvmico.o: scummvm.ico - windres scummvm.rc scummvmico.o - -dist: - $(RM) $(ZIPFILE) - $(ZIP) $(ZIPFILE) $(DISTFILES) - -deb: - ln -sf dists/debian; - debian/prepare - fakeroot debian/rules binary - - -# Special target to create a application wrapper for Mac OS X -bundle_name = ScummVM.app -bundle: scummvm-static - mkdir -p $(bundle_name)/Contents/MacOS - mkdir -p $(bundle_name)/Contents/Resources - echo "APPL????" > $(bundle_name)/Contents/PkgInfo - cp $(srcdir)/Info.plist $(bundle_name)/Contents/ - cp $(srcdir)/scummvm.icns $(bundle_name)/Contents/Resources/ - cp scummvm-static $(bundle_name)/Contents/MacOS/scummvm - $(srcdir)/tools/credits.pl --rtf > $(bundle_name)/Contents/Resources/Credits.rtf - strip $(bundle_name)/Contents/MacOS/scummvm - -# location of additional libs for OS X usually /sw/ for fink or -# /opt/local/ for darwinports -OSXOPT=/sw -# Special target to create a static linked binary for Mac OS X -scummvm-static: $(OBJS) - $(CXX) $(LDFLAGS) -o scummvm-static $(OBJS) \ - `sdl-config --static-libs` \ - $(OSXOPT)/lib/libmad.a \ - $(OSXOPT)/lib/libvorbisfile.a \ - $(OSXOPT)/lib/libvorbis.a \ - $(OSXOPT)/lib/libogg.a \ - $(OSXOPT)/lib/libmpeg2.a \ - $(OSXOPT)/lib/libFLAC.a \ - -lz - -# Special target to create a snapshot disk image for Mac OS X -osxsnap: bundle - mkdir ScummVM-snapshot - cp AUTHORS ./ScummVM-snapshot/ScummVM\ Authors - cp COPYING ./ScummVM-snapshot/License - cp NEWS ./ScummVM-snapshot/News - cp README ./ScummVM-snapshot/ScummVM\ ReadMe - /Developer/Tools/SetFile -t TEXT -c ttxt ./ScummVM-snapshot/* - /Developer/Tools/CpMac -r $(bundle_name) ./ScummVM-snapshot/ - hdiutil create -ov -format UDZO -srcfolder ScummVM-snapshot ScummVM-snapshot.dmg - rm -rf ScummVM-snapshot - -# Special target to create a win32 snapshot binary -win32dist: scummvm$(EXEEXT) - mkdir -p $(WIN32PATH) - strip scummvm.exe -o $(WIN32PATH)/scummvm$(EXEEXT) - cp AUTHORS $(WIN32PATH)/AUTHORS.txt - cp COPYING $(WIN32PATH)/COPYING.txt - cp NEWS $(WIN32PATH)/NEWS.txt - cp README $(WIN32PATH)/README.txt - cp /usr/local/README-SDL.txt $(WIN32PATH) - cp /usr/local/bin/SDL.dll $(WIN32PATH) - u2d $(WIN32PATH)/*.txt +# Special target to create a snapshot binary +dist: stella$(EXEEXT) + rm -rf stella-snapshot + mkdir -p stella-snapshot/docs + strip stella$(EXEEXT) -o stella-snapshot/stella$(EXEEXT) + cp src/emucore/stella.pro stella-snapshot + cp Announce.txt Changes.txt Copyright.txt License.txt README-PSP.txt README-SDL.txt Readme.txt Todo.txt stella-snapshot/docs + cp -r docs/graphics stella-snapshot/docs # Special target to create psp stuff psp-package: $(EXECUTABLE) @@ -284,4 +220,4 @@ psp-layout: umount $(PSP-MOUNTPOINT) -.PHONY: deb bundle test osxsnap win32dist dist install uninstall +.PHONY: deb bundle test win32dist dist install uninstall diff --git a/stella/configure b/stella/configure index 8e1557240..7bcd74ba7 100755 --- a/stella/configure +++ b/stella/configure @@ -242,9 +242,9 @@ Configuration: -h, --help display this help and exit Installation directories: - --prefix=DIR use this prefix for installing Stella [/usr/local] - --bindir=DIR directory to install the stella binary in [PREFIX/bin] - --mandir=DIR directory to install the manpage in [PREFIX/man] + --prefix=DIR use this prefix for installing stella [/usr/local] + --bindir=DIR directory to install the stella binary [PREFIX/bin] + --docdir=DIR directory to install documentation [PREFIX/share/doc/stella] Optional Features: --disable-gl disable OpenGL rendering support @@ -321,8 +321,8 @@ for ac_option in $@; do --bindir=*) _bindir=`echo $ac_option | cut -d '=' -f 2` ;; - --mandir=*) - _mandir=`echo $ac_option | cut -d '=' -f 2` + --docdir=*) + _docdir=`echo $ac_option | cut -d '=' -f 2` ;; *) echo "warning: unrecognised option: $ac_option" @@ -600,7 +600,7 @@ echo "$_opengl" # figure out installation directories # test -z "$_bindir" && _bindir="$_prefix/bin" -test -z "$_mandir" && _mandir="$_prefix/man" +test -z "$_docdir" && _docdir="$_prefix/share/doc/stella" echo echo_n "Summary:" @@ -802,7 +802,7 @@ NASMFLAGS := $NASMFLAGS PREFIX := $_prefix BINDIR := $_bindir -MANDIR := $_mandir +DOCDIR := $_docdir $_make_def_HAVE_GCC3 #$_make_def_HAVE_NASM diff --git a/stella/src/debugger/gui/PromptWidget.cxx b/stella/src/debugger/gui/PromptWidget.cxx index 15c688d50..b97a6cba4 100644 --- a/stella/src/debugger/gui/PromptWidget.cxx +++ b/stella/src/debugger/gui/PromptWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: PromptWidget.cxx,v 1.2 2005-09-23 23:35:02 stephena Exp $ +// $Id: PromptWidget.cxx,v 1.3 2005-09-30 22:12:18 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -482,6 +482,17 @@ void PromptWidget::handleCommand(CommandSender* sender, int cmd, } } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +GUI::Rect PromptWidget::getRect() const +{ + // Account for attached scrollbar when calculating width + int x = getAbsX() - 1, y = getAbsY() - 1, + w = getWidth() + kScrollBarWidth + 2, h = getHeight() + 2; + + GUI::Rect r(x, y, x+w, y+h); + return r; +} + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void PromptWidget::loadConfig() { diff --git a/stella/src/debugger/gui/PromptWidget.hxx b/stella/src/debugger/gui/PromptWidget.hxx index 33b68b3ee..d1c99f40e 100644 --- a/stella/src/debugger/gui/PromptWidget.hxx +++ b/stella/src/debugger/gui/PromptWidget.hxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: PromptWidget.hxx,v 1.1 2005-08-30 17:51:26 stephena Exp $ +// $Id: PromptWidget.hxx,v 1.2 2005-09-30 22:12:18 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -79,6 +79,7 @@ class PromptWidget : public Widget, public CommandSender bool handleKeyDown(int ascii, int keycode, int modifiers); void handleCommand(CommandSender* sender, int cmd, int data, int id); + virtual GUI::Rect getRect() const; virtual bool wantsFocus() { return true; } void loadConfig(); diff --git a/stella/src/gui/ListWidget.cxx b/stella/src/gui/ListWidget.cxx index bb2d09ee4..ed5a3a4eb 100644 --- a/stella/src/gui/ListWidget.cxx +++ b/stella/src/gui/ListWidget.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: ListWidget.cxx,v 1.34 2005-09-30 18:17:29 stephena Exp $ +// $Id: ListWidget.cxx,v 1.35 2005-09-30 22:12:18 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -370,6 +370,12 @@ void ListWidget::handleCommand(CommandSender* sender, int cmd, int data, int id) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GUI::Rect ListWidget::getRect() const { + // Account for attached scrollbar when calculating width + int x = getAbsX() - 1, y = getAbsY() - 1, + w = getWidth() + kScrollBarWidth + 2, h = getHeight() + 2; + + GUI::Rect r(x, y, x+w, y+h); + return r; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -