From bb31ddb1da6aa0f9352e6cfe57b5f9c62edef40d Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Sun, 9 Mar 2008 23:40:45 +0000 Subject: [PATCH] Re-introduce the wxBevelButton control of old and use it for Commit button in subs edit area on wxMac builds. Originally committed to SVN as r2006. --- aegisub/Makefile.am | 358 ++++++++++++++++++++++++++------- aegisub/macosx/bevelButton.cpp | 4 + aegisub/macosx/bevelButton.h | 4 + aegisub/subs_edit_box.cpp | 5 + 4 files changed, 302 insertions(+), 69 deletions(-) diff --git a/aegisub/Makefile.am b/aegisub/Makefile.am index 784099d3e..8f155d079 100644 --- a/aegisub/Makefile.am +++ b/aegisub/Makefile.am @@ -1,81 +1,301 @@ AUTOMAKE_OPTIONS = foreign +SUFFIXES = .c .cpp .rc +noinst_LIBRARIES= + +SUBDIRS = bitmaps posix + +AM_CXXFLAGS = -DAEGISUB -Iposix -include posix/defines.h -Iinclude @WX_CPPFLAGS@ + +bin_PROGRAMS = aegisub +aegisub_LDADD = posix/libposix.a +aegisub_CPPFLAGS = @FREETYPE_CFLAGS@ +aegisub_LDFLAGS = @GL_LIBS@ @FREETYPE_LIBS@ @PTHREAD_LIBS@ @WX_LIBS@ -if HAVE_UNIVCHARDET -univchardet = universalchardet +#XXX: fix this so it's generated by configure and put into acconf.h +#BUILDINFO := -DBUILD_CREDIT=verm -DBUILD_SVN_REVISION=0 + + +if HAVE_ALSA +noinst_LIBRARIES += libaudio_alsa.a +libaudio_alsa_a_SOURCES = audio_player_alsa.cpp +aegisub_LDFLAGS += @ALSA_LDFLAGS@ +aegisub_LDADD += libaudio_alsa.a endif -SUBDIRS = \ - $(univchardet) \ - src \ - automation \ - po \ - desktop +if HAVE_PORTAUDIO +noinst_LIBRARIES += libaudio_portaudio.a +libaudio_portaudio_a_SOURCES = audio_player_portaudio.cpp +aegisub_LDFLAGS += @PORTAUDIO_LDFLAGS@ +aegisub_LDADD += libaudio_portaudio.a +endif -osx-bundle: - @SHELL@ scripts/osx-bundle.sh "@BUNDLE_STRING@" @AEGISUB_VERSION_DATA@ DICT_DIR=$(DICT_DIR) +if HAVE_PULSEAUDIO +noinst_LIBRARIES += libaudio_pulseaudio.a +libaudio_pulseaudio_a_SOURCES = audio_player_pulse.cpp +libaudio_pulseaudio_a_CPPFLAGS = @LIBPULSE_CFLAGS@ +aegisub_LDFLAGS += @LIBPULSE_LIBS@ +aegisub_LDADD += libaudio_pulseaudio.a +endif + +if HAVE_OPENAL +noinst_LIBRARIES += libaudio_openal.a +libaudio_openal_a_SOURCES = audio_player_openal.cpp +libaudio_openal_a_CPPFLAGS = @OPENAL_CFLAGS@ +aegisub_LDFLAGS += @OPENAL_LIBS@ +aegisub_LDADD += libaudio_openal.a +endif + +if HAVE_FFMPEG +noinst_LIBRARIES += libaudiovideo_ffmpeg.a +libaudiovideo_ffmpeg_a_SOURCES = audio_provider_lavc.cpp lavc_file.cpp video_provider_lavc.cpp lavc_keyframes.cpp +aegisub_LDFLAGS += @AVFORMAT_LDFLAGS@ @AVCODEC_LDFLAGS@ @SWSCALE_LDFLAGS@ +aegisub_LDADD += libaudiovideo_ffmpeg.a +endif + +if HAVE_LIBASS +noinst_LIBRARIES += libsubtitle_ass.a +libsubtitle_ass_a_SOURCES = subtitles_provider_libass.cpp +libsubtitle_ass_a_CPPFLAGS = @LIBASS_CFLAGS@ +aegisub_LDFLAGS += @LIBASS_LIBS@ +aegisub_LDADD += libsubtitle_ass.a +endif + +if HAVE_AUTO4_LUA +noinst_LIBRARIES += libauto4_lua.a +libauto4_lua_a_SOURCES = auto4_lua.cpp auto4_lua_assfile.cpp auto4_lua_dialog.cpp auto4_lua_scriptreader.cpp +libauto4_lua_a_CPPFLAGS = @LUA_CPPFLAGS@ +aegisub_LDFLAGS += @LUA_LDFLAGS@ +aegisub_LDADD += libauto4_lua.a +endif + +if HAVE_AUTO4_PERL +noinst_LIBRARIES += libauto4_perl.a +libauto4_perl_a_SOURCES = auto4_perl.cpp auto4_perl_script.cpp auto4_perl_dialogs.cpp auto4_perl_ass.cpp auto4_perl_console.cpp auto4_perl.h auto4_perl_console.h +libauto4_perl_a_CPPFLAGS = @PERL_CFLAGS@ +aegisub_LDFLAGS += @PERL_LDFLAGS@ +aegisub_LDADD += libauto4_perl.a +endif + +if HAVE_AUTO4_RUBY +noinst_LIBRARIES += libauto4_ruby.a +libauto4_ruby_a_SOURCES = auto4_ruby_assfile.cpp auto4_ruby.cpp auto4_ruby_dialog.cpp +libauto4_ruby_a_CPPFLAGS = @RUBY_CFLAGS@ +aegisub_LDFLAGS += @RUBY_LDFLAGS@ +aegisub_LDADD += libauto4_ruby.a +endif + +if HAVE_AUTO3_LUA +AUTO3_LUA = auto4_auto3.cpp +aegisub_LDADD += -L$(srcdir)/../auto3 -laegisub-auto3 +endif -osx-dmg: - @SHELL@ scripts/osx-dmg.sh "@BUNDLE_STRING@" "@DMG_STRING@" +if HAVE_HUNSPELL +noinst_LIBRARIES += libmisc_hunspell.a +libmisc_hunspell_a_SOURCES = spellchecker_hunspell.cpp +aegisub_LDFLAGS += @HUNSPELL_LIBS@ +aegisub_LDADD += libmisc_hunspell.a +endif -osx-tinderbox-bundle: - @SHELL@ scripts/osx-bundle.sh "$(T_BUNDLE)" @AEGISUB_VERSION_DATA@ DICT_DIR="$(DICT_DIR)" +if HAVE_UNIVCHARDET +noinst_LIBRARIES += libmisc_universalchardet.a +libmisc_universalchardet_a_SOURCES = charset_detect.cpp text_file_reader.cpp +libmisc_universalchardet_a_CPPFLAGS = -D_X86_ -DTEXT_READER_USE_STDIO +aegisub_LDADD += libmisc_universalchardet.a ../universalchardet/libuniversalchardet.a +else +UNIVCHARSET = charset_detect.cpp text_file_reader.cpp +endif -osx-tinderbox-dmg: - @SHELL@ scripts/osx-dmg.sh "$(T_DMG)" "$(T_BUNDLE)" - mv "$(T_DMG).dmg" bundle.dmg + + +## These aren't built, but are listed here so 'make dist' can always find all the sources +## This should also list all Win32 specific files +EXTRA_aegisub_SOURCES = \ + audio_player_dsound.cpp \ + audio_player_portaudio.cpp \ + audio_player_pulse.cpp \ + audio_provider_avs.cpp \ + audio_provider_lavc.cpp \ + auto4_lua.cpp \ + auto4_lua_assfile.cpp \ + auto4_lua_dialog.cpp \ + auto4_lua_scriptreader.cpp \ + auto4_auto3.cpp \ + auto4_ruby.cpp \ + auto4_ruby_assfile.cpp \ + auto4_ruby_dialog.cpp \ + avisynth.h \ + avisynth_wrap.cpp \ + dialog_associations.cpp \ + lavc_file.cpp \ + lavc_keyframes.cpp \ + setup.cpp \ + spellchecker_hunspell.cpp \ + stdwx.cpp \ + stdwx.h \ + subtitle_format_prs.cpp \ + subtitles_provider_libass.cpp \ + video_provider_avs.cpp \ + video_provider_dshow.cpp \ + video_provider_lavc.cpp \ + boost/*.hpp \ + gl/*.h \ + win32/stdint.h + +aegisub_SOURCES = \ + $(HUNSPELL) \ + $(LIBASS) \ + $(FFMPEG) \ + $(AUTO3_LUA) \ + $(UNIVCHARSET) \ + auto4_base.cpp \ + audio_player.cpp \ + aegisublocale.cpp \ + ass_attachment.cpp \ + ass_dialogue.cpp \ + ass_entry.cpp \ + ass_export_filter.cpp \ + ass_exporter.cpp \ + ass_file.cpp \ + ass_karaoke.cpp \ + ass_override.cpp \ + ass_style.cpp \ + ass_style_storage.cpp \ + ass_time.cpp \ + audio_box.cpp \ + audio_display.cpp \ + audio_karaoke.cpp \ + audio_provider.cpp \ + audio_provider_convert.cpp \ + audio_provider_hd.cpp \ + audio_provider_ram.cpp \ + audio_provider_pcm.cpp \ + audio_provider_stream.cpp \ + audio_spectrum.cpp \ + avisynth_wrap.cpp \ + base_grid.cpp \ + browse_button.cpp \ + colorspace.cpp \ + colour_button.cpp \ + dialog_about.cpp \ + dialog_attachments.cpp \ + dialog_automation.cpp \ + dialog_colorpicker.cpp \ + dialog_detached_video.cpp \ + dialog_dummy_video.cpp \ + dialog_export.cpp \ + dialog_fonts_collector.cpp \ + dialog_jumpto.cpp \ + dialog_kanji_timer.cpp \ + dialog_options.cpp \ + dialog_paste_over.cpp \ + dialog_progress.cpp \ + dialog_properties.cpp \ + dialog_resample.cpp \ + dialog_search_replace.cpp \ + dialog_selection.cpp \ + dialog_shift_times.cpp \ + dialog_spellchecker.cpp \ + dialog_splash.cpp \ + dialog_style_editor.cpp \ + dialog_style_manager.cpp \ + dialog_styling_assistant.cpp \ + dialog_text_import.cpp \ + dialog_timing_processor.cpp \ + dialog_tip.cpp \ + dialog_translation.cpp \ + dialog_version_check.cpp \ + dialog_video_details.cpp \ + drop.cpp \ + export_clean_info.cpp \ + export_fixstyle.cpp \ + export_framerate.cpp \ + export_visible_lines.cpp \ + fft.cpp \ + font_file_lister.cpp \ + font_file_lister_fontconfig.cpp \ + frame_main.cpp \ + frame_main_events.cpp \ + gl_text.cpp \ + gl_wrap.cpp \ + help_button.cpp \ + hilimod_textctrl.cpp \ + hotkeys.cpp \ + idle_field_event.cpp \ + kana_table.cpp \ + keyframe.cpp \ + main.cpp \ + md5.c \ + mkv_wrap.cpp \ + mythes.cxx \ + options.cpp \ + plugin_manager.cpp \ + scintilla_text_ctrl.cpp \ + spellchecker.cpp \ + spline.cpp \ + spline_curve.cpp \ + standard_paths.cpp \ + static_bmp.cpp \ + string_codec.cpp \ + subs_edit_box.cpp \ + subs_edit_ctrl.cpp \ + subs_grid.cpp \ + subs_preview.cpp \ + subtitle_format.cpp \ + subtitle_format_ass.cpp \ + subtitle_format_dvd.cpp \ + subtitle_format_encore.cpp \ + subtitle_format_microdvd.cpp \ + subtitle_format_mkv.cpp \ + subtitle_format_srt.cpp \ + subtitle_format_txt.cpp \ + subtitle_format_ttxt.cpp \ + subtitles_provider.cpp \ + subtitles_provider_csri.cpp \ + text_file_writer.cpp \ + thesaurus.cpp \ + thesaurus_myspell.cpp \ + timeedit_ctrl.cpp \ + toggle_bitmap.cpp \ + tooltip_manager.cpp \ + utils.cpp \ + validators.cpp \ + variable_data.cpp \ + vector2d.cpp \ + version.cpp \ + vfr.cpp \ + video_box.cpp \ + video_context.cpp \ + video_display.cpp \ + video_frame.cpp \ + video_provider_dummy.cpp \ + video_provider_manager.cpp \ + video_provider_cache.cpp \ + video_slider.cpp \ + visual_feature.cpp \ + visual_tool.cpp \ + visual_tool_clip.cpp \ + visual_tool_cross.cpp \ + visual_tool_drag.cpp \ + visual_tool_rotatexy.cpp \ + visual_tool_rotatez.cpp \ + visual_tool_scale.cpp \ + visual_tool_vector_clip.cpp \ + MatroskaParser.c \ + macosx/bevelButton.cpp + +noinst_HEADERS = \ + boost/assert.hpp \ + boost/checked_delete.hpp \ + boost/shared_count.hpp \ + boost/shared_ptr.hpp \ + boost/throw_exception.hpp \ + boost/workaround.hpp \ + gl/glext.h \ + mythes.hxx \ + auto4_perldata.inc EXTRA_DIST = \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in \ - config.guess \ - config.sub \ - depcomp \ - install-sh \ - LICENCE \ - missing \ - INSTALL \ - README \ - svn_revision - -# m4macros/ -EXTRA_DIST += \ - m4macros/check_gnu_make.m4 \ - m4macros/boost.m4 \ - m4macros/acx_pthread.m4 \ - m4macros/ac_agi.m4 \ - m4macros/ax_lang_compiler_ms.m4 \ - m4macros/ac_agi_mdcpucfg.m4 \ - m4macros/ax_openmp.m4 \ - m4macros/ax_check_gl.m4 \ - m4macros/ac_flag.m4 - -# scripts/ -EXTRA_DIST += \ - scripts/osx-bundle-restart-helper.c \ - scripts/osx-bundle.sh \ - scripts/osx-dmg.sh \ - scripts/osx-fix-libs.py \ - scripts/unix-gen-res.awk \ - scripts/unix-gen-xpm.awk - -# packages/osx_bundle/ -EXTRA_DIST += \ - packages/osx_bundle/Contents/Info.plist \ - packages/osx_bundle/Contents/Resources/*.icns \ - packages/osx_bundle/Contents/Resources/etc/fonts/fonts.conf \ - packages/osx_bundle/Contents/Resources/etc/fonts/fonts.dtd \ - packages/osx_bundle/Contents/Resources/etc/fonts/conf.d/*.conf - -# packages/osx_dmg/ -EXTRA_DIST += \ - packages/osx_dmg/dmg_background.png \ - packages/osx_dmg/dmg_set_style.applescript - - -CLEANFILES= \ - intltool-extract \ - intltool-merge \ - intltool-update + $(srcdir)/*.h \ + $(srcdir)/include/aegisub/*.h diff --git a/aegisub/macosx/bevelButton.cpp b/aegisub/macosx/bevelButton.cpp index dbcfcb03d..ff577b6c8 100644 --- a/aegisub/macosx/bevelButton.cpp +++ b/aegisub/macosx/bevelButton.cpp @@ -9,6 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#ifdef __WXMAC__ + #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "button.h" #endif @@ -67,3 +69,5 @@ wxSize wxBevelButton::DoGetBestSize() const return wxSize ( wBtn , hBtn ) ; } + +#endif // __WXMAC__ diff --git a/aegisub/macosx/bevelButton.h b/aegisub/macosx/bevelButton.h index 0200d8af5..ac01cce2d 100644 --- a/aegisub/macosx/bevelButton.h +++ b/aegisub/macosx/bevelButton.h @@ -9,6 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#ifdef __WXMAC__ + #ifndef _WX_BEVEL_BUTTON_H_ #define _WX_BEVEL_BUTTON_H_ @@ -46,3 +48,5 @@ virtual wxSize DoGetBestSize() const ; #endif // _WX_BUTTON_H_ + +#endif // __WXMAC__ diff --git a/aegisub/subs_edit_box.cpp b/aegisub/subs_edit_box.cpp index 7cc7d7b53..33bb357a5 100644 --- a/aegisub/subs_edit_box.cpp +++ b/aegisub/subs_edit_box.cpp @@ -60,6 +60,7 @@ #include "idle_field_event.h" #include "float_spin.h" #include "tooltip_manager.h" +#include "macosx/bevelButton.h" /////////////// @@ -132,7 +133,11 @@ SubsEditBox::SubsEditBox (wxWindow *parent,SubtitlesGrid *gridp) : wxPanel(paren Color3->SetToolTip(_("Outline color")); Color4 = new wxBitmapButton(this,BUTTON_COLOR4,wxBITMAP(button_color_four),wxDefaultPosition,wxSize(30,20)); Color4->SetToolTip(_("Shadow color")); +#ifdef __WXMAC__ + CommitButton = new wxBevelButton(this,BUTTON_COMMIT,_("Commit"),wxDefaultPosition,wxDefaultSize); +#else CommitButton = new wxButton(this,BUTTON_COMMIT,_("Commit"),wxDefaultPosition,wxDefaultSize); +#endif ToolTipManager::Bind(CommitButton,_("Commits the text (Enter). Hold Ctrl to stay in line (%KEY%)."),_T("Edit Box Commit")); ByTime = new wxRadioButton(this,RADIO_TIME_BY_TIME,_("Time"),wxDefaultPosition,wxDefaultSize,wxRB_GROUP); ByTime->SetToolTip(_("Time by h:mm:ss.cs"));