Dawid Wolosowicz
f05cca7a9a
Spreadsheet: Declare the extern GML variable as an array, not a pointer
...
Part of #5906
Fixes #5943
2021-04-04 00:38:02 +02:00
Edgar Araújo
ca90a2029d
Everywhere: Change font properties to be described in GML
2021-03-29 09:10:23 +02:00
Edgar Araújo
243d7d9ecf
Everywhere: Remove empty {} from GML objects
2021-03-29 09:10:23 +02:00
AnotherTest
ccf84a4709
Spreadsheet: Ignore extra empty lines after the rows
...
We now ignore the last CRLF in e.g.
```csv
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
```
2021-03-28 11:46:47 +02:00
AnotherTest
894bfa30a2
Spreadsheet: Make the CSV reader more lenient
...
This adds an option "Lenient" that makes the reader conform to what
appears to be the norm in spreadsheet-land:
- Treat missing values as empty ones
- Update previously read rows if another row with more columns are seen
afterwards
2021-03-28 11:46:47 +02:00
AnotherTest
102065a8a9
Spreadsheet: Show the error (if any) in csv import dialog's preview
...
...and don't try to read from a CSV that has errors.
Fixes #5942 .
2021-03-28 11:46:47 +02:00
Andreas Kling
247717431d
LibGUI: Make GUI::Widget::event() protected
2021-03-28 11:25:40 +02:00
Andreas Kling
78b12e1521
Userland: Turn all application menus into window menus :^)
2021-03-25 22:14:09 +01:00
David Isaksson
391d1ddfd8
Spreadsheet: Ensure that cell exists on drop event for text data
...
Fixes crash where we tried to get a cell to set text from the drop
event. We now create the cell if it does not already exists.
Fixes issue #5923
2021-03-24 20:36:41 +01:00
Linus Groh
40eab55e7d
LibJS: Remove as_size_t()
...
Just like to_size_t() - which was already removed in f369229
- this is
non-standard, use to_length() instead. One remaining use was removed,
and I'm glad it's gone. :^)
2021-03-23 08:22:39 +01:00
AnotherTest
ba2df70eab
Spreadsheet: Do not assume that a worksheet always exists
...
Fixes #5910 .
Fixes #4822 (as far as I can tell).
2021-03-22 17:46:17 +01:00
AnotherTest
534626f917
Spreadsheet: Save the cells under the correct name
...
This broke in 6a6f19a72f
, which replaced
the representation of columns with numbers.
As a result, the save logic would store cells as
"\x<column_index><row_number>", which is obviously wrong.
Fixes #5905 .
Also simplifies the control flow in `import_worksheet` a bit.
2021-03-22 17:46:17 +01:00
AnotherTest
7b4fa860d2
Spreadsheet: Check for parse errors after parsing the source
...
There won't be any parse errors before we actually try to parse
something.
Fixes input like "=1+" crashing the spreadsheet instead of just causing
an error in the cell.
2021-03-22 17:46:17 +01:00
AnotherTest
fef165f1d2
Spreadsheet: Do not assume that user input has balanced parenthesis
...
Otherwise people with broken paren keys, or people with entertaining
ideas like "=9\b)" will cause an assert to trip.
Fixes #5909 .
2021-03-22 17:46:17 +01:00
AnotherTest
9b68f91c0b
Spreadsheet: Add an export wizard, and support for custom CSV exports
...
Fixes #4269 .
2021-03-22 07:43:58 +01:00
AnotherTest
bba3a7a2cb
Spreadsheet: Ignore empty cells when calculating data bounds
...
There's no reason to use extra rows/columns to represent empty cells
when exporting.
2021-03-22 07:43:58 +01:00
AnotherTest
8bd138cbbe
Spreadsheet/XSV: Make the writer respect QuoteAll
...
Also make the header container type generic, and name an enum.
2021-03-22 07:43:58 +01:00
AnotherTest
3c151b3de6
Spreadsheet: Add an import wizard, and add support for custom CSV files
...
Fixes the import half of #4269 .
2021-03-22 07:43:58 +01:00
AnotherTest
3bbcde9192
Spreadsheet/XSV: Add at() accessors
...
These are just aliases for operator[].
Also make the headers() getter return a vector of empty strings when the
csv file has no explicit headers.
2021-03-22 07:43:58 +01:00
AnotherTest
c1d67d6b17
Spreadsheet: Don't assume that the 'cells' field is an object
...
It might be missing, or not be an object.
Fixes #4821 .
2021-03-22 07:43:58 +01:00
AnotherTest
9f8d518e82
Spreadsheet: Only append new columns/rows every 50ms
...
Fixes #5550 .
2021-03-22 07:43:58 +01:00
thankyouverycool
7beae8042a
Spreadsheet: Set default width for columns
2021-03-18 07:49:55 +01:00
Andreas Kling
d792200a55
LibJS: Rename GlobalObject::initialize() => initialize_global_object()
...
This function was shadowing Object::initialize() which cannot be called
on global objects and has a different set of parameters.
2021-03-17 16:53:35 +01:00
Andreas Kling
ef1e5db1d0
Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)
...
Good-bye LogStream. Long live AK::Format!
2021-03-12 17:29:37 +01:00
Idan Horowitz
147d30ae4f
Spreadsheet: Implement the cut operation for cells
...
This is done by adding another field to our custom
text/x-spreadsheet-data mime-type that specifies the
action (just copy/cut for now)
2021-03-01 11:37:02 +01:00
thankyouverycool
132ca7e37b
Spreadsheet: Merge File menu into 'Spreadsheet' app menu
...
This is the common convention among the other apps. Also remove
a superfluous separator
2021-02-26 13:50:00 +01:00
Jelle Raaijmakers
9473c694dc
Spreadsheet: Fix cell identifier label
...
Commit 6a6f19a72
broke the cell position display in the top left of the
Spreadsheet window and the title of the cell type dialog, causing the
application to crash when interacting with cells beyond column FE.
2021-02-25 23:32:22 +01:00
AnotherTest
6a6f19a72f
Spreadsheet: Store the column index in a Position instead of its name
...
This will make constructing (and destructing) Positions a lot cheaper
(as it no longer needs to ref() and unref() a String).
Resulted from #5483 , but doesn't fix it.
2021-02-24 21:02:02 +01:00
Andreas Kling
5d180d1f99
Everywhere: Rename ASSERT => VERIFY
...
(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED)
Since all of these checks are done in release builds as well,
let's rename them to VERIFY to prevent confusion, as everyone is
used to assertions being compiled out in release.
We can introduce a new ASSERT macro that is specifically for debug
checks, but I'm doing this wholesale conversion first since we've
accumulated thousands of these already, and it's not immediately
obvious which ones are suitable for ASSERT.
2021-02-23 20:56:54 +01:00
Linus Groh
3583b62ad3
LibGUI: Swap order of InputBox value and parent window args
...
This is now consistent with the other dialog classes.
2021-02-20 12:19:46 +01:00
Andreas Kling
a50ba0a491
LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference
2021-02-11 23:52:39 +01:00
AnotherTest
09a43969ba
Everywhere: Replace dbgln<flag>(...) with dbgln_if(flag, ...)
...
Replacement made by `find Kernel Userland -name '*.h' -o -name '*.cpp' | sed -i -Ee 's/dbgln\b<(\w+)>\(/dbgln_if(\1, /g'`
2021-02-08 18:08:55 +01:00
Andreas Kling
ddbf20ecf6
LibSyntax+LibGUI+LibJS: Move JS syntax highlighter to LibJS
...
This is a little bit messy but the basic idea is:
Syntax::Highlighter now has a Syntax::HighlighterClient to talk to the
outside world. It mostly communicates in LibGUI primitives that are
available in headers, so inlineable.
GUI::TextEditor inherits from Syntax::HighlighterClient.
This let us to move GUI::JSSyntaxHighlighter to JS::SyntaxHighlighter
and remove LibGUI's dependency on LibJS.
2021-02-07 16:56:02 +01:00
Andreas Kling
43c7d7d285
LibSyntax: Move GUI::Highlighter to Syntax::Highlighter in LibSyntax
...
This is a move towards dropping more LibGUI dependencies.
2021-02-07 15:15:10 +01:00
asynts
8465683dcf
Everywhere: Debug macros instead of constexpr.
...
This was done with the following script:
find . \( -name '*.cpp' -o -name '*.h' -o -name '*.in' \) -not -path './Toolchain/*' -not -path './Build/*' -exec sed -i -E 's/dbgln<debug_([a-z_]+)>/dbgln<\U\1_DEBUG>/' {} \;
find . \( -name '*.cpp' -o -name '*.h' -o -name '*.in' \) -not -path './Toolchain/*' -not -path './Build/*' -exec sed -i -E 's/if constexpr \(debug_([a-z0-9_]+)/if constexpr \(\U\1_DEBUG/' {} \;
2021-01-25 09:47:36 +01:00
asynts
acdcf59a33
Everywhere: Remove unnecessary debug comments.
...
It would be tempting to uncomment these statements, but that won't work
with the new changes.
This was done with the following commands:
find . \( -name '*.cpp' -o -name '*.h' -o -name '*.in' \) -not -path './Toolchain/*' -not -path './Build/*' -exec awk -i inplace '$0 !~ /\/\/#define/ { if (!toggle) { print; } else { toggle = !toggle } } ; $0 ~/\/\/#define/ { toggle = 1 }' {} \;
find . \( -name '*.cpp' -o -name '*.h' -o -name '*.in' \) -not -path './Toolchain/*' -not -path './Build/*' -exec awk -i inplace '$0 !~ /\/\/ #define/ { if (!toggle) { print; } else { toggle = !toggle } } ; $0 ~/\/\/ #define/ { toggle = 1 }' {} \;
2021-01-25 09:47:36 +01:00
asynts
27bc48e06c
Everywhere: Replace a bundle of dbg with dbgln.
...
These changes are arbitrarily divided into multiple commits to make it
easier to find potentially introduced bugs with git bisect.
2021-01-22 22:14:30 +01:00
Andreas Kling
d312011708
Everywhere: Drop "shared_buffer" in most GUI programs, pledge "recvfd"
...
Now that WindowServer broadcasts the system theme using an anonymous
file, we need clients to pledge "recvfd" so they can receive it.
Some programs keep the "shared_buffer" pledge since it's still used for
a handful of things.
2021-01-16 19:30:32 +01:00
Andreas Kling
20915795a8
Everywhere: Pledge "sendfd" in WindowServer client programs
...
This is needed for the new way we transfer window backing stores.
2021-01-15 14:10:32 +01:00
Andreas Kling
dc28c07fa5
Applications: Move to Userland/Applications/
2021-01-12 12:05:23 +01:00