Commit Graph

14 Commits

Author SHA1 Message Date
Jim Westfall
3e261ee077 fix sorting on GameGrid
When switching to Cell_Formatting to fix rendering in mono and also provide
a speed up to displaying the GameGrid, it broken sorting on the CGame and
CDescription columns.  This is because we are no longer setting the Value
field on those cells.  On windows, clicking those column headers would do
nothing, under mono it would cause a crash.

Instead of reverting the Cell_Formatting change, this update make us handle
the sorting ourselves.  Mono doesnt implement SortCompare, so had to handle
column header clicks and make our own IComparer.

This also disables sorting on columns that are images, including on RomGrid.
2015-01-18 14:09:11 -08:00
Jim Westfall
1c588291b7 Merge branch 'master' into mono-fixes
Conflicts:
	ROMVault2/Settings.cs
2014-12-08 17:13:52 -08:00
gjefferyes
47731743b6 Cleaned up a little more, removed the frmRegistration code.
And ready for a first github release. so changed to version 2.2
2014-12-08 10:29:43 -06:00
Jim Westfall
b54610c2f6 Work around mono crashing on Rows.Clear()
Mono will crash if you do a Rows.Clear() and the first row isnt visible.  To
work around this, when running under mono force scroll to [0,0] cell before
issuing the Clear().

https://bugzilla.xamarin.com/show_bug.cgi?id=24372

Renamed Settings.MonoFileIO to Settings.IsUnix
Created Settings.IsMono
2014-11-13 17:24:53 -08:00
gjefferyes
09ccdd7e10 remove service References 2014-11-13 09:54:31 -06:00
gjefferyes
7fa939af29 Merge pull request #8 from jwestfall69/mono-ui-fixes2
Additional Mono rendering fixes
2014-11-13 09:42:53 -06:00
Jim Westfall
1d37e0004a speed up populating GameGrid
These changes speed up how long it takes to populate the GameGrid after
clicking on a dat in the Tree.  MAME 0.155 dat was used for testing.
Before the changes population times were

windows .net = 2.75 seconds
linux mono = 23 seconds

After the changes, both now take 300-400ms.

This was done using 2 main changes.

1. Fully move populating the rows' Values to the CellFormatting function
2. Determine the total number of rows we will need and use
GameGrid.rowCount to set the row count to that.  This is much faster
then doing individual Add()'s for each row.
2014-11-08 10:19:27 -08:00
Jim Westfall
76c4af0ec3 Additional Mono rendering fixes
- on initial rendering mono likes to send a resize event where the width
is 0, ignore it.  This was causing gbDatInfo to not render until a
manual resize was done.

- set AutoScaleMode to System.Windows.Forms.AutoScaleMode.None.  This
fixes a number of rendering issues under mono and didnt seem to have any
negative effect under c#/windows builds.

- tweak some of the initial form sizes and locations on FrmMain.  A
number of the setting didnt make sense based on the size of the panel
they were put it.  This resolves an issue with the gbDatInfo and
gbSetInfo starting off with the wrong size under mono.
2014-11-01 17:05:14 -07:00
Jim Westfall
16ae35a8a1 Make drawn text look better in GameGrid's CCorrect 2014-10-26 20:27:10 -07:00
Jim Westfall
bb4b77a6d7 Move (Rom|Game)Grid CellFormatting functions to be in the right #region sections 2014-10-26 19:58:01 -07:00
Jim Westfall
d5fb529b7b Need cellbounds to be the full wide and not just the visual. 2014-10-26 19:52:29 -07:00
Jim Westfall
bbfa915636 Replace *CellDraw classes with CellFormatting functions.
This fixes rendering and crashing issues in (Rom|Game)Grid with mono.
2014-10-26 19:07:05 -07:00
Jim Westfall
f436495aa2 Fix classes to match up with recent file renames 2014-10-23 21:59:09 -07:00
Jim Westfall
891f53ef34 Standardize the case of file names and how they are referenced in
ROMVault2.csproj so its possible to compile on a case sensitive
filesystem (ie mono on linux)
2014-10-18 16:36:00 -07:00