Commit graph

76 commits

Author SHA1 Message Date
Thomas Goyne ac2bac6d00 Use agi::io::Save in TextFileWriter
Originally committed to SVN as r4772.
2010-09-08 20:03:48 +00:00
Thomas Goyne 2662a69b2e Only autosave if there are unsaved changes to the file
Originally committed to SVN as r4771.
2010-09-08 20:03:20 +00:00
Amar Takhar d4ba1f48ca Remove libosxutil and fold it into libaegisub.
Originally committed to SVN as r4743.
2010-08-14 17:42:37 +00:00
Thomas Goyne 71fb04cd29 Rework most of the various factories to not need an explicit helper class for each class constructable via a factory.
Originally committed to SVN as r4716.
2010-08-02 06:31:38 +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 46d03e3e2b Refresh video display after undo/redo.
Originally committed to SVN as r4687.
2010-07-18 05:45:58 +00:00
Amar Takhar 5755d7e1a0 Use %ld for size_t in RebuildRecentList, fixes an assert in wxString::Format.
Originally committed to SVN as r4682.
2010-07-16 15:44:54 +00:00
Thomas Goyne a32bbab0b6 Add selection-preserving logic to BaseGrid::UpdateMaps and eliminate some unnecessary updates and clears of the maps. Fixes a pile of cases where operations would result in incorrect or no selections, or scrolling to the top of the file.
Originally committed to SVN as r4677.
2010-07-13 05:29:08 +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 5e22a0f151 Save selection over undo/redo.
Originally committed to SVN as r4668.
2010-07-09 07:31:43 +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 c9c2fa6404 Move "active line" responsibility to the grid. There are at the very least a bunch of redraw issues that need to be sorted out, probably much worse things are hiding.
Originally committed to SVN as r4604.
2010-06-26 11:32:16 +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
Amar Takhar 8ee9737b6f Move mru,opt objects out of the main singleton and into a global config:: namespace. With exception of the log object these are initialised during startup to ensure they are initalised after the log object.
Originally committed to SVN as r4538.
2010-06-18 02:23: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 392ce99083 Kill AssDialogue::UpdateData, which last had a non-empty body 3.5 years ago
Originally committed to SVN as r4525.
2010-06-16 06:20:19 +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
Thomas Goyne 7337a11745 Explicitly set the charset to binary when loading subtitles from the video
Originally committed to SVN as r4422.
2010-06-03 20:32:17 +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
Thomas Goyne 9157465a18 Fix loading video/keyframes/timecodes from the MRU list.
Originally committed to SVN as r4338.
2010-05-21 04:40:38 +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
harukalover 41be900efa Fixed a memory leak that occurred whenever the Edit menu was opened due to the Undo/Redo items being replaced with new wxMenuItem's without deleting the previous items (now it just updates the label/enabled status without creating new wxMenuItem's)
Originally committed to SVN as r4139.
2010-02-21 06:09:28 +00:00
Kevin Ollivier 5cafad1d81 Just call Next/PrevFrame now that the audio playing behavior is implemented inside those methods.
Originally committed to SVN as r4122.
2010-02-17 19:07:37 +00:00
Kevin Ollivier 3082838aa1 Add an option to play audio when stepping through video, like some other video players do. Also, add .mov as a file format to load, as it is widely used on Mac and seems to work fine for me with ffmpeg.
Originally committed to SVN as r4120.
2010-02-17 06:24:29 +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 4221919d4f merge r3983,r4002 (more string fixes.)
Originally committed to SVN as r4019.
2010-01-21 00:24:59 +00:00
Niels Martin Hansen f805ec707e Merge r3951 from 2.1.8 back in: fixing old URLs
Originally committed to SVN as r3952.
2010-01-06 05:23:58 +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
Thomas Goyne 9ff7c6abbb Remove some unused locals in frame_main_events.cpp that were last used in r106.
Originally committed to SVN as r3800.
2009-11-17 02:43:43 +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
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 c0364b7be1 Remove pointless keydown handlers on things that can't have keyboard focus.
Originally committed to SVN as r3674.
2009-10-10 02:13:15 +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
Amar Takhar 84996c927f Add a whole slew of missing includes, prior to r3509 config_unix.h used to include stdwx.h, now that I'm fixing the headers I removed it which caused issues when not using precompiled headers.
Originally committed to SVN as r3512.
2009-09-10 05:25:25 +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
Niels Martin Hansen 64c642c142 Revert r3431, it breaks the clipboard on Windows and is in fact also incorrect usage of the primary selection in X11 context. (I have never heard of anyone claiming clipboard usage not working on X11 before.)
This comment is in `include/wx/clipbrd.h`:
{{{
    // this allows to choose whether we work with CLIPBOARD (default) or
    // PRIMARY selection on X11-based systems
    //
    // on the other ones, working with primary selection does nothing: this
    // allows to write code which sets the primary selection when something is
    // selected without any ill effects (i.e. without overwriting the
    // clipboard which would be wrong on the platforms without X11 PRIMARY)
}}}
Note that it says that primary selection enabled causes the clipboard to do nothing on platforms that have no concept of primary selection, such as Windows and Mac.

On X11 the primary selection should only reflect an active selection of text (or similar) that the user has performed, and the contents of the primary selection buffer will essentially change all the time as the user changes selection. When the user chooses to explicitly copy something to the clipboard (as is the case with Aegisub, the only operation supported by us currently) the data is placed in a less ephemeral buffer which is the actual clipboard, separate from the primary selection, allowing the user to change the primary selection further without affecting the clipboard.

Originally committed to SVN as r3443.
2009-08-28 21:45:01 +00:00
Niels Martin Hansen b1225cdd1f Correct a use of wx event handling, which should also make FrameMain not require friend access to AudioDisplay.
Originally committed to SVN as r3442.
2009-08-28 21:15:39 +00:00
Amar Takhar 3de6c63ddd Reformat the 'Enter aspect ratio' text to be formatted as a block rather than a very wide string that looked silly.
Originally committed to SVN as r3438.
2009-08-22 03:56:02 +00:00
Amar Takhar f5a9af6a6c Call wxTheClipboard->UsePrimarySelection(true) when using wxClipboard, without getting into detail clipboard work very differently on X11. Without calling this copying to the clipboard won't work. I've just put it after every use of ->Open, this is safe as in every case Close() is called right after. This will fix clipboard copying on all unices.
Originally committed to SVN as r3431.
2009-08-20 02:31:33 +00:00