Commit graph

69 commits

Author SHA1 Message Date
Thomas Goyne
f66ef36f93 Change criteria for when opened files should be backed up; rather than not backing up binary files (which aren't detected correctly anymore and always was sort of kludgy), don't back up files which are not in a format we can't write.
Originally committed to SVN as r4725.
2010-08-03 20:21:04 +00:00
Thomas Goyne
c10e9e3a5b Make video and audio providers throw typed exceptions.
Don't display error messages and try other providers when the user
cancels loading a file.

Remove files from the MRU lists if they can't be found.

Closes #717.

Originally committed to SVN as r4717.
2010-08-02 06:32:01 +00:00
Thomas Goyne
428fc78623 Kill dangling references to dialog_tip.h
Originally committed to SVN as r4707.
2010-07-23 07:00:35 +00:00
Thomas Goyne
fde4a7815d Make the subtitle edit box auto-commit all changes
This happens to fix most of the undo issues, as it's now much harder to
have uncommitted changes to the file.

Closes #355 and #586.

Originally committed to SVN as r4699.
2010-07-20 03:11:11 +00:00
Thomas Goyne
4a8abae3a3 Kill options.h and options.cpp, which have been empty for a while
Originally committed to SVN as r4676.
2010-07-12 21:49:48 +00:00
Thomas Goyne
c40aa7080a Eliminate almost all uses of AssFile::top.
Originally committed to SVN as r4669.
2010-07-09 07:31:48 +00:00
Thomas Goyne
2e5dc176db Rewrite Undo/Redo code
Make the undo and redo stacks non-static members of AssFile, making it
theoretically possible to have multiple open AssFiles with working undo.

Slightly improve tracking of whether the file is modified: saving,
making a change, then undoing the change now results in the file being
shown as unmodified as with most programs with undo.

Add basic undo coalescing support.

Originally committed to SVN as r4667.
2010-07-09 07:31:34 +00:00
Thomas Goyne
acba2c6b63 Rewrite VFR handling in Aegisub.
Kill vfr.h and vfr.cpp and use the libaegisub versions of them instead.

Rather than the globals VFR_Input and VFR_Output, everything related to
frame rate is now part of the video context. Most things which used to
use VFR_Output now call VideoContext::TimeAtFrame etc.; video providers,
rather than modifying VFR_Input directly, now have getters for their
frame rates which VideoContext calls. Read-only public access to
VFR_Input and VFR_Output are still provided (hopefully temporarily) for
a few things which were awkward to do through VideoContext.

The Avisynth provider now might correctly handle VFR MKVs which can be
opened with DirectShowSource but not DSS2.

Rework keyframe handling as well, so that it continues to match the vfr
handling in design and implementation.

Originally committed to SVN as r4662.
2010-07-08 04:29:04 +00:00
Thomas Goyne
929fa83dd9 Move the bulk of TextFileWriter's logic to libaegisub.
Originally committed to SVN as r4660.
2010-07-07 02:41:46 +00:00
Niels Martin Hansen
37cd66c950 Make the cool stuff in r4606 a little less cool, but apparently wxGtk doesn't let you freeze invisible windows and get away with it, so we'll have to live with a little extra flicker.
Originally committed to SVN as r4636.
2010-06-28 22:15:40 +00:00
Thomas Goyne
934da32931 Select the first line when opening a file
Originally committed to SVN as r4611.
2010-06-27 04:54:46 +00:00
Niels Martin Hansen
52627a0fc5 Show splash screen much earlier, and show main window much later. Also be smoother about the display of the main window, avoid flickery relayouting. Remove splash screen "click to close" behaviour as well as timed close, just hide it when the main window has been shown.
Originally committed to SVN as r4606.
2010-06-26 14:16:59 +00:00
Niels Martin Hansen
c4a27da4fc Change the grid to use more sensible maps to keep track of index/object mappings for subtitle lines, and follow the SelectionController model. (Hopefully the new maps can also give slightly better performance.)
Try to keep the original API intact. Some redundant or unused functions in SubtitleGrid were removed. The LoadFromAss() function was renamed to UpdateMaps() since that was its real purpose. (Note that SubtitleGrid now has an UpdateMaps() function that overshadows BaseGrid::UpdateMaps(), but SubtitleGrid::UpdateMaps() calls the hidden function. They are not virtual.)
This does not yet fix visual tool feature selection.
Generally, things just feel more broken still. Further work will fix things.

Originally committed to SVN as r4603.
2010-06-26 07:26:27 +00:00
Thomas Goyne
faf2e562cd Rename FrameMain::SubsBox to SubsGrid for consistency with the rest of Aegisub.
Originally committed to SVN as r4527.
2010-06-16 06:20:33 +00:00
Thomas Goyne
43f3502043 Eliminate double inclusion of frame_main.h and remove #pragma once
Originally committed to SVN as r4526.
2010-06-16 06:20:27 +00:00
Thomas Goyne
b6d29443a3 Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Amar Takhar
719b7c2281 Add a basic "log window", this will be more polished and useful later on for now it's just something quick and dirty.
There are a few issues to fix:
 * Delete the pointer in frame_main from the modless dialog.
 * Fix string storage in the logging class.
 * Close button doesn't work.

Originally committed to SVN as r4406.
2010-06-02 23:47:39 +00:00
Amar Takhar
40e12403d5 Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
Initial support for low-level access and file I/O methods are included as well.

Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00
Thomas Goyne
2124a1dbd3 Rework how sorting works and add sorting by style
Rather than going through a ton of work to ensure that every AssEvent
has a sensible start time that happens to leave it in the right place
after sorting, simply sort only consecutive blocks of AssDialogues and
leave everything else untouched. Note that this results in different
behavior when there are multiple [Events] sections in a file -- rather
than moving lines between sections and keeping the number of lines per
section constant, each section keeps the lines it had.

As it's now easy to do, also add sorting by style name and end time.

Closes #614.

Originally committed to SVN as r4307.
2010-05-19 00:44:44 +00:00
Thomas Goyne
a573b0897b Add "Open Subtitles From Video" menu option. Closes #253.
Originally committed to SVN as r4306.
2010-05-19 00:44:37 +00:00
Thomas Goyne
61c141a714 Change zoom to an arbitrary percentage rather than an index into a fixed list of allowed zooms
Originally committed to SVN as r4256.
2010-05-01 01:07:05 +00:00
Thomas Goyne
7a7b7fb5e9 Add menu options for the tag hiding modes to the view menu. Closes #433
Originally committed to SVN as r4254.
2010-04-30 20:42:07 +00:00
Amar Takhar
0cd4f1225d Merge 3906,r3909,r3910,r3912,r3928,r3931,r3932,r3933,r3935,r3936: merge update checker from 2.1.8, this also needs to be documented for doxygen. closes #1084.
Originally committed to SVN as r4042.
2010-01-26 13:14:05 +00:00
Amar Takhar
79c1716ccd merge r3982.
Originally committed to SVN as r4017.
2010-01-21 00:01:46 +00:00
Amar Takhar
6b454601da * Add a new function to libosxutil: OSX_OpenLocation which calls LSOpenCFURLRef, it accepts a URL (except for local paths) and opens the correct program using the Launcher.
* Add a new help menu option to access internal resources located within the bundle.

Closes #1033 and updates #1070.

Originally committed to SVN as r3895.
2009-12-25 03:28:15 +00:00
Niels Martin Hansen
eb938aa5ed Check video size on open and change zoom level to 50% or 25% if the video is greater than some proportions of the window size.
Updates #1054.

Originally committed to SVN as r3858.
2009-12-12 01:38:09 +00:00
Thomas Goyne
feb77217c7 Fix bug where detaching loaded but hidden video had broken results.
Originally committed to SVN as r3798.
2009-11-17 01:37:18 +00:00
Niels Martin Hansen
3c75547292 Make "Untitled" and "untitled" translateable, updates #792.
Originally committed to SVN as r3761.
2009-11-04 05:27:09 +00:00
Niels Martin Hansen
129585a2f8 Remove the ability for Aegisub to do its own file type associations. It's something the installer should be doing.
Originally committed to SVN as r3757.
2009-11-03 02:42:19 +00:00
harukalover
59cf4b656a Removed the log window which nobody seems to use. Closes #1026
Originally committed to SVN as r3710.
2009-10-13 21:53:50 +00:00
harukalover
7dcb6cd387 Fix the annoying habit of all debug output being printed twice
Originally committed to SVN as r3701.
2009-10-12 05:11:24 +00:00
Thomas Goyne
68de84b427 Fix some minor quirks with detached video and the display mode.
Originally committed to SVN as r3688.
2009-10-11 22:10:08 +00:00
Thomas Goyne
5cf7724698 Disable zoom controls when video is detached as the zoom is ignored with detached video.
Originally committed to SVN as r3676.
2009-10-10 15:21:26 +00:00
Thomas Goyne
37ec7ad62c Increase the maximum zoom to 300%.
Originally committed to SVN as r3634.
2009-10-06 17:43:15 +00:00
Thomas Goyne
cbd76e7010 Rewrite the video rendering code to support displaying videos which are larger than the maximum texture size. This does not currently support YV12 (which Aegisub currently never uses), but should be otherwise functional.
Originally committed to SVN as r3615.
2009-10-05 04:22:28 +00:00
Amar Takhar
d348b4e33e Fix all the headers in *.cpp, this includes:
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
 * Sorting alphabetically.

Originally committed to SVN as r3515.
2009-09-10 13:06:40 +00:00
Amar Takhar
7a8c5229fd * Remove wxprec.h from all files other than agi_pre.h. Including this in various headers is useless as it includes wx.h which includes dozens of 'common' wx headers. With this we're unable to tell which files rely on which interfaces. This commit removes them and manually places in required headers as-needed.
* Update agi_pre.h to include some missing headers, also move required windowsheaders to the top of the list
 * Use <> versus "" for the wx header in avisynth_wrap.cpp
 * Remove xx/wx.h from agi_pre.h as it's included by wxprec.h.

Originally committed to SVN as r3513.
2009-09-10 10:26:50 +00:00
Thomas Goyne
1a4e7375fd Add some documentation to VideoDisplay and clean up the includes a bit.
Originally committed to SVN as r3501.
2009-09-10 01:41:34 +00:00
Amar Takhar
e0f84274b0 Add the languages button that was missed in r3437.
Originally committed to SVN as r3439.
2009-08-22 03:59:09 +00:00
Amar Takhar
775c73de29 Add new icons from Kaverin.
Originally committed to SVN as r3437.
2009-08-22 03:51:00 +00:00
Amar Takhar
50d9dbd4f1 Add detach_video_menu and show_overscan_menu_checked <- this one isn't in use as you can't Check() a menu item that has a bitmap, we need to figure out an alternate solution. This probably involves flipping the bitmap to our own of a checkmark.
Originally committed to SVN as r3430.
2009-08-19 07:03:39 +00:00
Amar Takhar
58965afc9a * Delete find_replace_button and find_next_button (these were blank anyway) and replace them with find_next_menu and find_replace_menu.
* Add new buttons open_audio_menu, open_audio_from_video_menu, close_audio_menu and close_video_menu.

Originally committed to SVN as r3425.
2009-08-18 01:28:15 +00:00
Amar Takhar
b37310e286 Add a bunch of new icons from Kaverin.
Originally committed to SVN as r3418.
2009-08-16 03:54:44 +00:00
Amar Takhar
94965d1277 Add new icon: kara_timing_copier which replaces kanji_timer_button. Nothing has been changed other than the icon name. updates #870
Originally committed to SVN as r3383.
2009-08-11 05:35:25 +00:00
Amar Takhar
db6e3d84c1 Fix setting the window as modified, I don't know if this will work in 10.4.. (fix from jfs)
Originally committed to SVN as r3344.
2009-08-01 02:00:30 +00:00
Amar Takhar
6ee2f98349 Note: This was done using a script! it's far from perfect but 95% of the work has been done already formatting-wise.
Document all functions, class, struct, union, enum, macro, variable, typedefs.  This isn't the actual document in itself but empty documentation using any old documentation if it was there.

This was done using exuberant ctags to get tag info, then a TCL script to parse/remove old comments and convert them into Doxygen-style.

Some notes:
 * Anything labeled 'DOCME' needs to be documented, @param and @return have been left blank as it would be annoying to delete the 'DOCME' from every one of those.
 * Some multiline comments may have been munged into single line comments
 * Leave the /// comments above global variables with a space, if they're harder to read then we'll be less likey to use them.
 * Enum comments can go after the enumeration itself '[value] /// comment'
 * include/aegisub/*.h haven't been converted yet, this will be done in a later commit
 * Some documentation blocks are in the wrong place, in the .h when it should be in the .cpp, or vice versa.

See http://devel.aegisub.org/wiki/Doxygen for some details on Doxygen and a 'style guide'.

Originally committed to SVN as r3312.
2009-07-29 22:59:22 +00:00
Amar Takhar
12aa34088a Switch all headers to using Doxygen and cleanup contact info
* Swap old email + website address with 'Aegisub Project http://www.aegisub.org/'
 * Set categories for all files (jfs)
 * Add descriptions for each file (jfs)
 * Add $Id$ keyword

Originally committed to SVN as r3310.
2009-07-29 05:43:02 +00:00
Niels Martin Hansen
675afab201 Hopefully fix build error on OS X, WindowRef and SetWindowModified() being undeclared in frame_main.
Originally committed to SVN as r3296.
2009-07-27 01:07:54 +00:00
Thomas Goyne
d401e67402 Switch the main window's icon back to the .ico version on windows as it was rejecting the png one.
Originally committed to SVN as r3285.
2009-07-25 20:32:58 +00:00
Amar Takhar
0f841aae1a Convert the icon to png from xpm, I'm not sure how Windows will handle the alpha on this image.. someone on Windows will need to check.
Originally committed to SVN as r3284.
2009-07-25 20:07:07 +00:00