colloquium.git
2 years agoBetter handling of paragraph ends in which_run
Thomas White [Sat, 3 Mar 2018 21:41:40 +0000 (22:41 +0100)]
Better handling of paragraph ends in which_run

Here is the better solution.

2 years agoMake which_run strictly exclusive when deciding which run
Thomas White [Sat, 3 Mar 2018 21:16:38 +0000 (22:16 +0100)]
Make which_run strictly exclusive when deciding which run

I have a feeling there's a better way to do this, though.

2 years agoFix a memory bug in exec_macro
Thomas White [Sat, 3 Mar 2018 20:27:07 +0000 (21:27 +0100)]
Fix a memory bug in exec_macro

2 years agoscan_runs_for_scblock: Check scblock as well as rscblock
Thomas White [Sat, 3 Mar 2018 20:26:38 +0000 (21:26 +0100)]
scan_runs_for_scblock: Check scblock as well as rscblock

Allows macros to be found and deleted properly

2 years agodelete_run: Stop moving too many runs
Thomas White [Sat, 3 Mar 2018 20:26:17 +0000 (21:26 +0100)]
delete_run: Stop moving too many runs

2 years agoRemove text_run offsets and lengths
Thomas White [Sat, 3 Mar 2018 15:01:50 +0000 (16:01 +0100)]
Remove text_run offsets and lengths

Keeping these up to date was becoming a gigantic headache.  So instead
of storing the values, routines which are interested in these lengths
and offsets can calculate them themselves.

2 years agoRemove macro_real_block and friends, and delete text based on SCBlocks instead of...
Thomas White [Sun, 18 Feb 2018 17:25:00 +0000 (18:25 +0100)]
Remove macro_real_block and friends, and delete text based on SCBlocks instead of runs

macro_real_block was a pain because it meant we needed to look somewhere
else every time we needed the SCBlock for something.  The new way is to
have two SCBlocks for each run, one which is the block from the flow of
the actual document (i.e. for blocks within macros, this is the
macro_real_block, otherwise it's the same as before).  The second block
("rscblock") is whichever run actually contains the text for the run.
It might be from the document, within the macro definition or within the
macro's "\contents".

2 years agoAdd some warnings
Thomas White [Wed, 28 Feb 2018 14:08:15 +0000 (15:08 +0100)]
Add some warnings

2 years agoDisable blank cursor
Thomas White [Fri, 2 Mar 2018 14:09:58 +0000 (15:09 +0100)]
Disable blank cursor

2 years agoIncrease line spacing
Thomas White [Mon, 19 Feb 2018 20:02:39 +0000 (21:02 +0100)]
Increase line spacing

2 years agoAdd SCBlocks into editor at right level
Thomas White [Fri, 23 Feb 2018 16:11:00 +0000 (17:11 +0100)]
Add SCBlocks into editor at right level

Another fix due to 6dedc1eb

2 years agoComplain if frame can't be created
Thomas White [Fri, 23 Feb 2018 15:27:26 +0000 (16:27 +0100)]
Complain if frame can't be created

2 years agoCreate frame at the right SC level
Thomas White [Fri, 23 Feb 2018 15:26:51 +0000 (16:26 +0100)]
Create frame at the right SC level

Fix needed because of 6dedc1eb

2 years agoRemove unused variables
Thomas White [Mon, 19 Feb 2018 21:16:49 +0000 (22:16 +0100)]
Remove unused variables

2 years agoRemove text run SCBlock offset
Thomas White [Sun, 18 Feb 2018 18:48:22 +0000 (19:48 +0100)]
Remove text run SCBlock offset

The \newpara change (commit 7f2d0abd) removed the only situation when the
start of a run might not coincide with the start of an SCBlock, or vice-versa
(although not all SCBlocks correspond to text runs, obviously).

Therefore, the offset is always zero and can be removed, simplifying the code.

2 years agoUpdate comment
Thomas White [Fri, 16 Feb 2018 20:13:53 +0000 (21:13 +0100)]
Update comment

2 years agoRecord whether or not macro is editable
Thomas White [Fri, 16 Feb 2018 20:13:37 +0000 (21:13 +0100)]
Record whether or not macro is editable

2 years agoFix next/previous slide in slide window
Thomas White [Sun, 4 Feb 2018 08:28:42 +0000 (09:28 +0100)]
Fix next/previous slide in slide window

2 years agoFussiness
Thomas White [Mon, 29 Jan 2018 21:11:15 +0000 (22:11 +0100)]
Fussiness

2 years agoFix incorrect handling when first frame is deleted
Thomas White [Mon, 29 Jan 2018 21:10:53 +0000 (22:10 +0100)]
Fix incorrect handling when first frame is deleted

2 years agoFix slide numbers in narrative window
Thomas White [Thu, 25 Jan 2018 21:59:50 +0000 (22:59 +0100)]
Fix slide numbers in narrative window

2 years agoUse custom slide size in narrative print
Thomas White [Thu, 25 Jan 2018 21:55:38 +0000 (22:55 +0100)]
Use custom slide size in narrative print

2 years agoFix slide size in slide only print
Thomas White [Thu, 25 Jan 2018 21:55:30 +0000 (22:55 +0100)]
Fix slide size in slide only print

2 years agoFix slide numbers in narrative print
Thomas White [Thu, 25 Jan 2018 21:54:20 +0000 (22:54 +0100)]
Fix slide numbers in narrative print

2 years agoInhibit screensaver using native GTK method
Thomas White [Fri, 19 Jan 2018 20:54:53 +0000 (21:54 +0100)]
Inhibit screensaver using native GTK method

2 years agoFix button label in save box
Thomas White [Fri, 19 Jan 2018 20:41:21 +0000 (21:41 +0100)]
Fix button label in save box

2 years agoImplement Open menu item
Thomas White [Fri, 19 Jan 2018 20:41:12 +0000 (21:41 +0100)]
Implement Open menu item

2 years agoUpdate about box
Thomas White [Fri, 19 Jan 2018 20:40:59 +0000 (21:40 +0100)]
Update about box

2 years agoMass update of copyright dates
Thomas White [Thu, 18 Jan 2018 22:01:31 +0000 (23:01 +0100)]
Mass update of copyright dates

2 years agoTry deleting based on macro contents if paragraphs can't be merged straight away
Thomas White [Thu, 18 Jan 2018 21:54:33 +0000 (22:54 +0100)]
Try deleting based on macro contents if paragraphs can't be merged straight away

Also, avoid a segfault if it still doesn't work after that.

2 years agosc_block_delete/unlink: Pass error condition back up if parent block can't be found
Thomas White [Thu, 18 Jan 2018 21:53:55 +0000 (22:53 +0100)]
sc_block_delete/unlink: Pass error condition back up if parent block can't be found

2 years agoStore macro contents block in text run
Thomas White [Thu, 18 Jan 2018 21:52:46 +0000 (22:52 +0100)]
Store macro contents block in text run

We need it in order to find where to delete from, e.g. when paragraphs
get united inside a slide title

2 years agoRemove vestigial default stylesheet stuff
Thomas White [Wed, 10 Jan 2018 18:44:46 +0000 (19:44 +0100)]
Remove vestigial default stylesheet stuff

2 years agoSingle monitor mode for slideshow
Thomas White [Fri, 5 Jan 2018 21:46:45 +0000 (22:46 +0100)]
Single monitor mode for slideshow

If we only have one monitor, page up/down should change slide instead of
paragraph.

2 years agoDon't unref blank cursor if it was never allocated
Thomas White [Fri, 5 Jan 2018 21:44:29 +0000 (22:44 +0100)]
Don't unref blank cursor if it was never allocated

2 years agoAdd option to start presentation without slides (timing only)
Thomas White [Fri, 5 Jan 2018 21:36:11 +0000 (22:36 +0100)]
Add option to start presentation without slides (timing only)

2 years agoFussiness
Thomas White [Fri, 5 Jan 2018 09:29:09 +0000 (10:29 +0100)]
Fussiness

2 years agoGUI slide title adding
Thomas White [Fri, 5 Jan 2018 09:28:56 +0000 (10:28 +0100)]
GUI slide title adding

2 years agoCopy and paste entire frames
Thomas White [Thu, 4 Jan 2018 21:35:55 +0000 (22:35 +0100)]
Copy and paste entire frames

2 years agoGet slide size from stylesheet
Thomas White [Thu, 4 Jan 2018 20:30:10 +0000 (21:30 +0100)]
Get slide size from stylesheet

2 years agoChange slide shape to 16:9, with FIXMEs
Thomas White [Thu, 4 Jan 2018 14:41:39 +0000 (15:41 +0100)]
Change slide shape to 16:9, with FIXMEs

2 years agoSlideshow: Handle letterboxing both ways
Thomas White [Thu, 4 Jan 2018 14:36:33 +0000 (15:36 +0100)]
Slideshow: Handle letterboxing both ways

2 years agoFix some FIXMEs
Thomas White [Wed, 6 Dec 2017 11:09:29 +0000 (12:09 +0100)]
Fix some FIXMEs

2 years agoHandle typing into other non-text paragraph types
Thomas White [Wed, 6 Dec 2017 11:03:33 +0000 (12:03 +0100)]
Handle typing into other non-text paragraph types

2 years agoUse newer API for full screen presentation
Thomas White [Mon, 4 Dec 2017 21:22:22 +0000 (22:22 +0100)]
Use newer API for full screen presentation

2 years agoGo directly to PangoContext
Thomas White [Mon, 4 Dec 2017 14:59:30 +0000 (15:59 +0100)]
Go directly to PangoContext

2 years agoType "into" slide thumbnail without full rerender
Thomas White [Sun, 3 Dec 2017 21:40:49 +0000 (22:40 +0100)]
Type "into" slide thumbnail without full rerender

2 years agoDisable up/down buttons at end of slideshow
Thomas White [Sat, 2 Dec 2017 22:54:29 +0000 (23:54 +0100)]
Disable up/down buttons at end of slideshow

2 years agoAdd option to start slideshow in the middle
Thomas White [Sat, 2 Dec 2017 22:54:17 +0000 (23:54 +0100)]
Add option to start slideshow in the middle

2 years agoCentering of test card stuff
Thomas White [Fri, 1 Dec 2017 21:54:42 +0000 (22:54 +0100)]
Centering of test card stuff

2 years agoNo text selection in paragraph highlight mode
Thomas White [Thu, 30 Nov 2017 22:05:17 +0000 (23:05 +0100)]
No text selection in paragraph highlight mode

2 years agoDebugging stuff
Thomas White [Thu, 30 Nov 2017 21:41:11 +0000 (22:41 +0100)]
Debugging stuff

2 years agoSCEditor scaled view fixes
Thomas White [Thu, 30 Nov 2017 21:40:51 +0000 (22:40 +0100)]
SCEditor scaled view fixes

2 years agoScale the slide in the slide window
Thomas White [Wed, 29 Nov 2017 08:43:01 +0000 (09:43 +0100)]
Scale the slide in the slide window

2 years agoImageStore LRU system
Thomas White [Tue, 28 Nov 2017 22:10:50 +0000 (23:10 +0100)]
ImageStore LRU system

2 years agoUse ImageStore to get image size
Thomas White [Sun, 26 Nov 2017 23:12:46 +0000 (00:12 +0100)]
Use ImageStore to get image size

2 years agoUse config file for image store pathname
Thomas White [Sun, 26 Nov 2017 19:02:53 +0000 (20:02 +0100)]
Use config file for image store pathname

2 years agoDon't crash if image is not found
Thomas White [Sun, 26 Nov 2017 16:45:30 +0000 (17:45 +0100)]
Don't crash if image is not found

2 years agoRender callbacks with higher resolution when writing to PDF
Thomas White [Sun, 26 Nov 2017 13:58:30 +0000 (14:58 +0100)]
Render callbacks with higher resolution when writing to PDF

2 years agoRender images at the correct size
Thomas White [Thu, 23 Nov 2017 21:58:20 +0000 (22:58 +0100)]
Render images at the correct size

This needs converting to pixels to check the actual size

2 years agoGet rid of image size stuff
Thomas White [Thu, 23 Nov 2017 21:18:49 +0000 (22:18 +0100)]
Get rid of image size stuff

A completely unnecessary mechanism.

2 years agoCalculate image sizes to fill frames horizontally
Thomas White [Tue, 21 Nov 2017 21:32:42 +0000 (22:32 +0100)]
Calculate image sizes to fill frames horizontally

2 years agoRemove unnecessary newline stuff
Thomas White [Sun, 19 Nov 2017 20:07:38 +0000 (21:07 +0100)]
Remove unnecessary newline stuff

2 years agoDon't try to split in a NULL frame
Thomas White [Sun, 19 Nov 2017 16:43:40 +0000 (17:43 +0100)]
Don't try to split in a NULL frame

2 years agoSet selection to NULL after importing image, because we just did full_rerender()
Thomas White [Sun, 19 Nov 2017 16:39:32 +0000 (17:39 +0100)]
Set selection to NULL after importing image, because we just did full_rerender()

2 years agoInitialise image para space to zero
Thomas White [Sun, 19 Nov 2017 16:39:10 +0000 (17:39 +0100)]
Initialise image para space to zero

2 years agoDon't add empty text blocks
Thomas White [Sun, 19 Nov 2017 16:38:39 +0000 (17:38 +0100)]
Don't add empty text blocks

They can creep in sometimes, e.g. just after an image frame is created

2 years agoFix paragraph highlight for spacing
Thomas White [Sun, 19 Nov 2017 15:27:51 +0000 (16:27 +0100)]
Fix paragraph highlight for spacing

2 years agoUnset selection before creating a new frame
Thomas White [Sun, 19 Nov 2017 13:06:25 +0000 (14:06 +0100)]
Unset selection before creating a new frame

2 years agoSet right fontdesc for \newpara runs (in case we type into them later)
Thomas White [Sun, 19 Nov 2017 12:40:37 +0000 (13:40 +0100)]
Set right fontdesc for \newpara runs (in case we type into them later)

2 years agoDragging fixes
Thomas White [Sun, 19 Nov 2017 12:40:28 +0000 (13:40 +0100)]
Dragging fixes

2 years agopos_trail_to_offset(): Special case for \newpara
Thomas White [Sun, 19 Nov 2017 12:40:04 +0000 (13:40 +0100)]
pos_trail_to_offset(): Special case for \newpara

2 years agoDebug stuff (revert me later)
Thomas White [Sun, 12 Nov 2017 21:02:30 +0000 (22:02 +0100)]
Debug stuff (revert me later)

2 years agoAvoid some NULL dereferences
Thomas White [Thu, 26 Oct 2017 21:22:59 +0000 (23:22 +0200)]
Avoid some NULL dereferences

2 years agoHandle NULL PangoContext some more
Thomas White [Thu, 26 Oct 2017 21:10:27 +0000 (23:10 +0200)]
Handle NULL PangoContext some more

2 years agoscblock_delete_text(): Add a warning
Thomas White [Thu, 26 Oct 2017 21:07:15 +0000 (23:07 +0200)]
scblock_delete_text(): Add a warning

2 years agoDelete newpara runs when deleting a paragraph
Thomas White [Thu, 26 Oct 2017 21:06:39 +0000 (23:06 +0200)]
Delete newpara runs when deleting a paragraph

2 years agoHandle NULL PangoContext
Thomas White [Mon, 23 Oct 2017 20:03:17 +0000 (22:03 +0200)]
Handle NULL PangoContext

Used when getting the templates

2 years agoEnsure initialisation of cursor position
Thomas White [Mon, 23 Oct 2017 19:36:28 +0000 (21:36 +0200)]
Ensure initialisation of cursor position

2 years agoDon't eliminate empty runs
Thomas White [Sun, 22 Oct 2017 15:25:05 +0000 (17:25 +0200)]
Don't eliminate empty runs

They might be important

2 years agoUpdate demo doc for shift key
Thomas White [Sun, 22 Oct 2017 15:02:23 +0000 (17:02 +0200)]
Update demo doc for shift key

2 years agoHold shift to create, resize or move
Thomas White [Sun, 22 Oct 2017 15:00:42 +0000 (17:00 +0200)]
Hold shift to create, resize or move

2 years agoDon't rewrap if paragraph is NULL
Thomas White [Sun, 22 Oct 2017 14:51:52 +0000 (16:51 +0200)]
Don't rewrap if paragraph is NULL

2 years agoAdd show_edit_pos()
Thomas White [Sun, 22 Oct 2017 14:47:47 +0000 (16:47 +0200)]
Add show_edit_pos()

2 years agoRewrap the paragraph range in the correct frame (!)
Thomas White [Sun, 22 Oct 2017 14:47:21 +0000 (16:47 +0200)]
Rewrap the paragraph range in the correct frame (!)

2 years agodebugger: Show SCBlock for newline at end
Thomas White [Sun, 22 Oct 2017 14:46:51 +0000 (16:46 +0200)]
debugger: Show SCBlock for newline at end

2 years agoRemove more unnecessary messing around with \n
Thomas White [Thu, 19 Oct 2017 20:58:24 +0000 (22:58 +0200)]
Remove more unnecessary messing around with \n

2 years agoMake one of the tests a bit harder
Thomas White [Thu, 19 Oct 2017 20:50:13 +0000 (22:50 +0200)]
Make one of the tests a bit harder

2 years agoTrack the newlines at ends of paragraphs directly
Thomas White [Thu, 19 Oct 2017 19:42:48 +0000 (21:42 +0200)]
Track the newlines at ends of paragraphs directly

No more messing around searching for \n characters

2 years agoFix button modifier masks
Thomas White [Tue, 17 Oct 2017 21:11:07 +0000 (23:11 +0200)]
Fix button modifier masks

2 years agoUpdate demo doc
Thomas White [Tue, 17 Oct 2017 19:04:05 +0000 (21:04 +0200)]
Update demo doc

2 years agoTrack newlines at end of paragraphs
Thomas White [Tue, 17 Oct 2017 19:03:39 +0000 (21:03 +0200)]
Track newlines at end of paragraphs

2 years agoDelete text when inserting with block selected
Thomas White [Sun, 8 Oct 2017 19:24:15 +0000 (21:24 +0200)]
Delete text when inserting with block selected

2 years agoDon't try to calculate an offset in a non-text paragraph
Thomas White [Sun, 24 Sep 2017 18:48:53 +0000 (20:48 +0200)]
Don't try to calculate an offset in a non-text paragraph

2 years agoAvoid looking up cursor position in non-text paragraph
Thomas White [Sun, 24 Sep 2017 14:18:48 +0000 (16:18 +0200)]
Avoid looking up cursor position in non-text paragraph

2 years agoupdate_font(): Show font name if it can't be loaded
Thomas White [Sun, 24 Sep 2017 13:56:05 +0000 (15:56 +0200)]
update_font(): Show font name if it can't be loaded

2 years agodraw_caret(): Use pos_trail_to_offset()
Thomas White [Sun, 24 Sep 2017 13:55:42 +0000 (15:55 +0200)]
draw_caret(): Use pos_trail_to_offset()

2 years agoJump back into empty paragraphs correctly
Thomas White [Sun, 24 Sep 2017 13:55:10 +0000 (15:55 +0200)]
Jump back into empty paragraphs correctly

2 years agoZero-length blocks are OK
Thomas White [Sun, 24 Sep 2017 09:04:09 +0000 (11:04 +0200)]
Zero-length blocks are OK

2 years agoHandle paragraph split at end of paragraph
Thomas White [Sun, 24 Sep 2017 09:01:49 +0000 (11:01 +0200)]
Handle paragraph split at end of paragraph