clevic 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +182 -0
- data/Manifest.txt +7 -3
- data/README.txt +36 -23
- data/Rakefile +22 -7
- data/TODO +55 -45
- data/bin/clevic +7 -2
- data/config/hoe.rb +4 -2
- data/lib/clevic.rb +1 -0
- data/lib/clevic/browser.rb +38 -15
- data/lib/clevic/cache_table.rb +24 -8
- data/lib/clevic/db_options.rb +11 -8
- data/lib/clevic/delegates.rb +24 -13
- data/lib/clevic/extensions.rb +6 -2
- data/lib/clevic/field.rb +55 -6
- data/lib/clevic/item_delegate.rb +7 -6
- data/lib/clevic/model_builder.rb +35 -8
- data/lib/clevic/record.rb +28 -0
- data/lib/clevic/table_model.rb +21 -33
- data/lib/clevic/table_view.rb +48 -1
- data/lib/clevic/ui/browser.ui +4 -4
- data/lib/clevic/ui/browser_ui.rb +73 -74
- data/lib/clevic/ui/search_dialog_ui.rb +50 -51
- data/lib/clevic/version.rb +1 -1
- data/{accounts_models.rb → models/accounts_models.rb} +12 -12
- data/models/minimal_models.rb +19 -0
- data/models/times_models.rb +156 -0
- data/{times_models.rb → models/times_sqlite_models.rb} +10 -18
- data/{values_models.rb → models/values_models.rb} +2 -3
- data/script/console +1 -1
- data/sql/accounts.sql +48 -48
- data/sql/times.sql +25 -25
- data/sql/times_sqlite.sql +46 -0
- data/website/index.html +44 -18
- data/website/index.txt +8 -1
- data/website/template.html.erb +2 -1
- metadata +34 -8
data/History.txt
CHANGED
@@ -1,3 +1,185 @@
|
|
1
|
+
2008-07-25 12:04 panic
|
2
|
+
|
3
|
+
* bin/clevic, lib/clevic/db_options.rb:
|
4
|
+
fix username not being overridden by command-line options
|
5
|
+
|
6
|
+
2008-07-25 11:55 panic
|
7
|
+
|
8
|
+
* README.txt, Rakefile, TODO, bin/clevic, config/hoe.rb,
|
9
|
+
lib/clevic/browser.rb, lib/clevic/db_options.rb,
|
10
|
+
lib/clevic/record.rb, models/accounts_models.rb,
|
11
|
+
models/times_models.rb, models/times_sqlite_models.rb:
|
12
|
+
Automatically keep track of model definition order, and show
|
13
|
+
tabs in that order. Group models under one Rake namespace.
|
14
|
+
|
15
|
+
2008-07-25 11:35 panic
|
16
|
+
|
17
|
+
* website/index.html, website/index.txt,
|
18
|
+
website/template.html.erb:
|
19
|
+
more documentation
|
20
|
+
|
21
|
+
2008-07-25 11:22 panic
|
22
|
+
|
23
|
+
* TODO:
|
24
|
+
rearrange TODO
|
25
|
+
|
26
|
+
2008-07-25 11:17 panic
|
27
|
+
|
28
|
+
* History.txt, Manifest.txt, README.txt, Rakefile, script/console:
|
29
|
+
update packaging
|
30
|
+
|
31
|
+
2008-07-24 21:09 panic
|
32
|
+
|
33
|
+
* accounts_models.rb, minimal_models.rb, models,
|
34
|
+
models/accounts_models.rb, models/minimal_models.rb,
|
35
|
+
models/times_models.rb, models/times_sqlite_models.rb,
|
36
|
+
models/values_models.rb, times_models.rb, times_sqlite_model.rb,
|
37
|
+
values_models.rb:
|
38
|
+
move model definition files to their own directory
|
39
|
+
|
40
|
+
2008-07-24 21:07 panic
|
41
|
+
|
42
|
+
* TODO, accounts_models.rb, times_models.rb, website/index.html:
|
43
|
+
notes and comments
|
44
|
+
|
45
|
+
2008-07-24 21:03 panic
|
46
|
+
|
47
|
+
* sql/accounts.sql, sql/times.sql:
|
48
|
+
remove panic
|
49
|
+
|
50
|
+
2008-07-24 21:00 panic
|
51
|
+
|
52
|
+
* Rakefile, accounts_models.rb, bin/clevic, lib/clevic.rb,
|
53
|
+
lib/clevic/browser.rb, lib/clevic/db_options.rb,
|
54
|
+
lib/clevic/item_delegate.rb, lib/clevic/record.rb,
|
55
|
+
lib/clevic/table_model.rb, minimal_models.rb, times_models.rb,
|
56
|
+
times_sqlite_model.rb, values_models.rb:
|
57
|
+
Inherit models from Clevic::Record. Allow for minimal model
|
58
|
+
definitions.
|
59
|
+
|
60
|
+
2008-07-24 19:03 panic
|
61
|
+
|
62
|
+
* TODO, accounts_models.rb, bin/clevic, lib/clevic/cache_table.rb,
|
63
|
+
lib/clevic/db_options.rb, lib/clevic/item_delegate.rb,
|
64
|
+
lib/clevic/table_model.rb, lib/clevic/table_view.rb,
|
65
|
+
times_models.rb, times_sqlite_model.rb:
|
66
|
+
make sure current record is saved when tab loses focus
|
67
|
+
|
68
|
+
2008-07-24 15:59 panic
|
69
|
+
|
70
|
+
* TODO, lib/clevic/field.rb, lib/clevic/table_view.rb:
|
71
|
+
don't allow filtering on virtual fields
|
72
|
+
|
73
|
+
2008-07-24 13:54 panic
|
74
|
+
|
75
|
+
* lib/clevic/extensions.rb, lib/clevic/model_builder.rb,
|
76
|
+
lib/clevic/table_model.rb, lib/clevic/ui/browser.ui:
|
77
|
+
UI and code tweaks
|
78
|
+
|
79
|
+
2008-07-24 13:38 panic
|
80
|
+
|
81
|
+
* TODO, accounts_models.rb, lib/clevic/field.rb,
|
82
|
+
lib/clevic/model_builder.rb, lib/clevic/table_model.rb,
|
83
|
+
times_models.rb, times_sqlite_model.rb:
|
84
|
+
Allow display of related fields as read-only. New read-only
|
85
|
+
attribute for fields. Distinct now default sorts by frequency.
|
86
|
+
All field types can now use a Proc for :display.
|
87
|
+
|
88
|
+
2008-07-24 11:35 panic
|
89
|
+
|
90
|
+
* accounts_models.rb, lib/clevic/field.rb,
|
91
|
+
lib/clevic/model_builder.rb, times_models.rb,
|
92
|
+
times_sqlite_model.rb:
|
93
|
+
fix some issue with display of relational fields
|
94
|
+
|
95
|
+
2008-07-24 10:50 panic
|
96
|
+
|
97
|
+
* lib/clevic/delegates.rb:
|
98
|
+
check before doing true/false gsub
|
99
|
+
|
100
|
+
2008-07-24 10:44 panic
|
101
|
+
|
102
|
+
* TODO, accounts_models.rb, lib/clevic/cache_table.rb,
|
103
|
+
lib/clevic/delegates.rb, lib/clevic/extensions.rb,
|
104
|
+
lib/clevic/field.rb, lib/clevic/model_builder.rb,
|
105
|
+
lib/clevic/table_model.rb, lib/clevic/version.rb,
|
106
|
+
times_models.rb, times_sqlite_model.rb:
|
107
|
+
allow for blocks to format relational delegates
|
108
|
+
|
109
|
+
2008-07-23 09:46 panic
|
110
|
+
|
111
|
+
* Rakefile, TODO, accounts_models.rb, lib/clevic/db_options.rb,
|
112
|
+
times_models.rb, values_models.rb:
|
113
|
+
remove username. Do clobber list.
|
114
|
+
|
115
|
+
2008-07-21 18:12 panic
|
116
|
+
|
117
|
+
* TODO:
|
118
|
+
update todo
|
119
|
+
|
120
|
+
2008-07-17 18:41 panic
|
121
|
+
|
122
|
+
* Rakefile, TODO, bin/clevic, config/hoe.rb,
|
123
|
+
lib/clevic/cache_table.rb, lib/clevic/db_options.rb,
|
124
|
+
lib/clevic/table_model.rb, lib/clevic/version.rb:
|
125
|
+
fix search with sqlite
|
126
|
+
|
127
|
+
2008-07-17 16:50 panic
|
128
|
+
|
129
|
+
* TODO, lib/clevic/db_options.rb, lib/clevic/delegates.rb,
|
130
|
+
lib/clevic/field.rb, lib/clevic/item_delegate.rb, sql/times.sql,
|
131
|
+
sql/times_sqlite.sql, times_models.rb, times_sqlite_model.rb:
|
132
|
+
check that it works with sqlite
|
133
|
+
|
134
|
+
2008-07-17 11:15 panic
|
135
|
+
|
136
|
+
* accounts_models.rb:
|
137
|
+
really fix use of test database
|
138
|
+
|
139
|
+
2008-07-17 10:48 panic
|
140
|
+
|
141
|
+
* Manifest.txt:
|
142
|
+
add necessary generated files to Manifest
|
143
|
+
|
144
|
+
2008-07-07 20:42 panic
|
145
|
+
|
146
|
+
* Manifest.txt, website/javascripts/rounded_corners_lite.inc.js:
|
147
|
+
fix manifest
|
148
|
+
|
149
|
+
2008-07-07 20:39 panic
|
150
|
+
|
151
|
+
* INSTALL, Rakefile, accounts_models.rb, bin/clevic,
|
152
|
+
config/jamis.rb, lib/clevic.rb, lib/clevic/cache_table.rb,
|
153
|
+
lib/clevic/db_options.rb, lib/clevic/version.rb, template,
|
154
|
+
times_models.rb, values_models.rb:
|
155
|
+
new DbOptions class. Move jamis.rb into config.
|
156
|
+
|
157
|
+
2008-07-07 19:39 panic
|
158
|
+
|
159
|
+
* README.txt, Rakefile, accounts_models.rb, config, config/hoe.rb,
|
160
|
+
config/requirements.rb, lib/clevic/version.rb, script,
|
161
|
+
script/console, script/destroy, script/generate,
|
162
|
+
script/txt2html, tasks, tasks/website.rake, values_models.rb,
|
163
|
+
website, website/index.html, website/index.txt,
|
164
|
+
website/javascripts,
|
165
|
+
website/javascripts/rounded_corners_lite.inc.js,
|
166
|
+
website/screenshot.png, website/stylesheets,
|
167
|
+
website/stylesheets/screen.css, website/template.html.erb:
|
168
|
+
pull in rubigen scripts and things from another project
|
169
|
+
|
170
|
+
2008-07-05 20:53 panic
|
171
|
+
|
172
|
+
* README.txt:
|
173
|
+
update README slightly
|
174
|
+
|
175
|
+
2008-07-04 20:16 panic
|
176
|
+
|
177
|
+
* History.txt, Manifest.txt, README.txt, Rakefile, TODO,
|
178
|
+
bin/clevic, lib/clevic/db_options.rb,
|
179
|
+
lib/clevic/model_builder.rb, lib/clevic/version.rb, template,
|
180
|
+
template/jamis.rb:
|
181
|
+
improve docs and comments. Do gem dependencies.
|
182
|
+
|
1
183
|
2008-06-26 14:56 panic
|
2
184
|
|
3
185
|
* README.txt:
|
data/Manifest.txt
CHANGED
@@ -3,7 +3,6 @@ Manifest.txt
|
|
3
3
|
README.txt
|
4
4
|
Rakefile
|
5
5
|
TODO
|
6
|
-
accounts_models.rb
|
7
6
|
bin/clevic
|
8
7
|
bin/import-times
|
9
8
|
config/hoe.rb
|
@@ -21,6 +20,7 @@ lib/clevic/field.rb
|
|
21
20
|
lib/clevic/item_delegate.rb
|
22
21
|
lib/clevic/model_builder.rb
|
23
22
|
lib/clevic/model_column.rb
|
23
|
+
lib/clevic/record.rb
|
24
24
|
lib/clevic/search_dialog.rb
|
25
25
|
lib/clevic/table_model.rb
|
26
26
|
lib/clevic/table_view.rb
|
@@ -30,15 +30,19 @@ lib/clevic/ui/icon.png
|
|
30
30
|
lib/clevic/ui/search_dialog.ui
|
31
31
|
lib/clevic/ui/search_dialog_ui.rb
|
32
32
|
lib/clevic/version.rb
|
33
|
+
models/accounts_models.rb
|
34
|
+
models/minimal_models.rb
|
35
|
+
models/times_models.rb
|
36
|
+
models/times_sqlite_models.rb
|
37
|
+
models/values_models.rb
|
33
38
|
script/console
|
34
39
|
script/destroy
|
35
40
|
script/generate
|
36
41
|
script/txt2html
|
37
42
|
sql/accounts.sql
|
38
43
|
sql/times.sql
|
44
|
+
sql/times_sqlite.sql
|
39
45
|
tasks/website.rake
|
40
|
-
times_models.rb
|
41
|
-
values_models.rb
|
42
46
|
website/index.html
|
43
47
|
website/index.txt
|
44
48
|
website/screenshot.png
|
data/README.txt
CHANGED
@@ -1,35 +1,27 @@
|
|
1
1
|
= clevic
|
2
2
|
|
3
|
-
http://clevic.rubyforge.org
|
3
|
+
http://clevic.rubyforge.org
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
6
|
|
7
7
|
Database framework and Qt Model/View GUI for data capture and
|
8
|
-
editing of tables in a pre-existing relational DBMS.
|
9
|
-
Postgresql, Mysql and so on are supported. Has only been tested with Postgres.
|
8
|
+
editing of tables in a pre-existing relational DBMS.
|
10
9
|
|
11
|
-
|
12
|
-
so it provides
|
13
|
-
nice keyboard shortcuts for all sorts of things. Model (table) objects
|
14
|
-
are extensible to allow for model (table) specific cleverness, like
|
15
|
-
auto-filling-in of fields.
|
10
|
+
Using ActiveRecord means Clevic supports Postgresql, Mysql and so on. It's been tested with Postgres and sqlite.
|
16
11
|
|
17
|
-
|
12
|
+
Using Qt means it runs on Linux, Windows and OSX.
|
18
13
|
|
19
14
|
== FEATURES:
|
20
15
|
|
16
|
+
=== User Interface
|
17
|
+
|
18
|
+
* edit data in a table
|
19
|
+
* in-place combo boxes for choosing values from related tables (foreign keys)
|
20
|
+
* distinct combo boxes to list previous values for a field
|
21
|
+
* display read-only fields from related tables
|
21
22
|
* Filter by current field.
|
22
23
|
* search by field contents.
|
23
|
-
* uses ActiveRecord for data access. Does *not* use the Qt SQL models.
|
24
|
-
* sensible caching to handle large data sets without unnecessary memory and cpu usage
|
25
|
-
* in-place Combo boxes for related table and foreign keys
|
26
|
-
* distinct combo boxes to list previous values for a field
|
27
24
|
* cut and paste in CSV format
|
28
|
-
* sortable by row headers (not yet)
|
29
|
-
* color highlighting of fields and records on definable criteria (not yet).
|
30
|
-
* extensions to various Qt classes to make db programming easier.
|
31
|
-
* leverages SQL whenever possible to handle large datasets, sorting, filtering
|
32
|
-
etc. So it's probably not suitable for talking to a remote db across a slow link.
|
33
25
|
|
34
26
|
=== Shortcuts:
|
35
27
|
|
@@ -43,12 +35,33 @@ Start with Clevic::Browser
|
|
43
35
|
|
44
36
|
=== Model definition:
|
45
37
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
38
|
+
Models and their UI representation must be defined in Ruby. A class that
|
39
|
+
inherits from Clevic::Record (which itself inherits from ActiveRecord::Base) will provide
|
40
|
+
a minimally functional UI.
|
41
|
+
Beyond that, the framework provides
|
42
|
+
an easy Rails-migrations-like syntax for defining more complex and useful behaviour.
|
43
|
+
|
44
|
+
In the models/ subdirectory, start with minimal_models.rb.
|
45
|
+
account_models.rb and times_models.rb provide definitions for more real-world examples.
|
46
|
+
Associated SQL schemas are in the sql subdirectory.
|
47
|
+
|
48
|
+
For implementation and more extensive
|
50
49
|
comments, see Clevic::Browser and Clevic::ModelBuilder.
|
51
50
|
|
51
|
+
=== Framework
|
52
|
+
|
53
|
+
* use blocks to format values for particular fields.
|
54
|
+
* sensible caching to handle large data sets without unnecessary memory and cpu usage
|
55
|
+
* extensions to various Qt classes to make db programming easier.
|
56
|
+
* uses ActiveRecord for data access. Does *not* use the Qt SQL models.
|
57
|
+
* leverages SQL whenever possible to handle large datasets, sorting, filtering
|
58
|
+
etc. So it's probably not suitable for talking to a remote db across a slow link.
|
59
|
+
|
60
|
+
=== Plans
|
61
|
+
|
62
|
+
* sortable by row headers
|
63
|
+
* color highlighting of fields and records on definable criteria
|
64
|
+
|
52
65
|
== PROBLEMS:
|
53
66
|
|
54
67
|
See TODO file.
|
@@ -62,7 +75,7 @@ See TODO file.
|
|
62
75
|
=== Gems
|
63
76
|
* fastercsv
|
64
77
|
* ruby-qt4
|
65
|
-
* qtext
|
78
|
+
* qtext
|
66
79
|
* ActiveRecord
|
67
80
|
|
68
81
|
=== Other
|
data/Rakefile
CHANGED
@@ -15,7 +15,8 @@ end
|
|
15
15
|
|
16
16
|
# list of .ui files
|
17
17
|
UI_FILES = FileList.new( 'lib/clevic/ui/*.ui' )
|
18
|
-
CLEAN.include( 'ChangeLog'
|
18
|
+
CLEAN.include( 'ChangeLog' )
|
19
|
+
CLOBBER.include( 'ChangeLog', 'pkg', 'lib/clevic/ui/*_ui.rb' )
|
19
20
|
|
20
21
|
UI_FILES.each do |ui_file|
|
21
22
|
# make tasks to generate _ui.rb files
|
@@ -50,10 +51,16 @@ namespace :ui do
|
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
53
|
-
desc "Runs Clevic in
|
54
|
+
desc "Runs Clevic in normal mode, with live database."
|
54
55
|
task :run => :ui do |t|
|
55
56
|
ARGV.shift()
|
56
|
-
exec "ruby -
|
57
|
+
exec "ruby -Ilib bin/clevic #{ARGV.join(' ')}"
|
58
|
+
end
|
59
|
+
|
60
|
+
desc "Runs Clevic in warning mode, with test databases and debug flag on"
|
61
|
+
task :sqlite => :ui do |t|
|
62
|
+
ARGV.shift()
|
63
|
+
exec "ruby -Ilib bin/clevic #{ARGV.join(' ')} times_sqlite_model.rb"
|
57
64
|
end
|
58
65
|
|
59
66
|
desc "Runs Clevic in debug mode, with test databases"
|
@@ -89,10 +96,12 @@ MODELS_LIST.each do |model_file|
|
|
89
96
|
end
|
90
97
|
|
91
98
|
# generate runs
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
99
|
+
namespace :run do
|
100
|
+
desc "run clevic with #{model_file}"
|
101
|
+
task short_model( model_file ) => :ui do |t|
|
102
|
+
ARGV.shift()
|
103
|
+
exec "ruby -w -Ilib bin/clevic -D #{model_file} #{ARGV.join(' ')}"
|
104
|
+
end
|
96
105
|
end
|
97
106
|
end
|
98
107
|
|
@@ -114,3 +123,9 @@ Rake::RDocTask.new(:docs) do |rd|
|
|
114
123
|
|
115
124
|
rd.options << "-t #{title}"
|
116
125
|
end
|
126
|
+
|
127
|
+
desc "Update History.txt from the SVN log"
|
128
|
+
task :history do |t|
|
129
|
+
ARGV.shift
|
130
|
+
exec "svn2cl --break-before-msg -o History.txt #{ARGV.join(' ')}"
|
131
|
+
end
|
data/TODO
CHANGED
@@ -1,12 +1,55 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
Make sure shortcuts don't edit a read-only field
|
2
|
+
generate models - DrySQL
|
3
|
+
Ctrl-PgDn to last row in this column. Also extend selection
|
4
|
+
sorting by header. See void QAbstractItemModel::sort ( int column, Qt::SortOrder order = Qt::AscendingOrder )
|
5
|
+
- layoutChanged
|
6
|
+
|
7
|
+
search with acts_as_searchable and hyperestraier
|
8
|
+
|
9
|
+
undo
|
10
|
+
- acts_as_trashable to undo deletes
|
11
|
+
- other commands. Possibly via ActiveRecord callbacks?
|
12
|
+
- Keep a history of changes, ie xy, new. xy, changed. x,y copied etc.
|
4
13
|
|
5
14
|
Using F4 to open list, and then selecting from the combo and exiting using Return (or tab?) doesn't set the correct value
|
6
15
|
wrap description, and allow Access-style zooming
|
7
|
-
Undo deletes and other commands. Possibly via ActiveRecord callbacks?
|
8
16
|
|
9
|
-
|
17
|
+
search in relational fields doesn't work because the search value is compared to the id of the related record
|
18
|
+
Use Webrick as a way to export CSV reports?
|
19
|
+
See Ruport and Documatic for reports
|
20
|
+
|
21
|
+
generate models - DrySQL
|
22
|
+
Ctrl-PgDn to last row in this column. Also extend selection
|
23
|
+
sorting by header. See void QAbstractItemModel::sort ( int column, Qt::SortOrder order = Qt::AscendingOrder )
|
24
|
+
- layoutChanged
|
25
|
+
|
26
|
+
search with acts_as_searchable and hyperestraier
|
27
|
+
acts_as_trashable to undo deletes
|
28
|
+
implement undo of field changes
|
29
|
+
|
30
|
+
moving of columns
|
31
|
+
/-style keyboard search by selected column, or everything if no column selected
|
32
|
+
/-style filtering?
|
33
|
+
|
34
|
+
for dates, add year if not specified, with 6 months on either side range. Configurable?
|
35
|
+
value formatting not in model
|
36
|
+
copy a field from a mouse-selection (ctrl-b maybe)
|
37
|
+
hiding of fields
|
38
|
+
|
39
|
+
save context menu settings, filter settings, etc
|
40
|
+
filtering by various things. http://doc.trolltech.com/4.3/qsortfilterproxymodel.html
|
41
|
+
highlighting by various things
|
42
|
+
cut and paste (in model format)
|
43
|
+
|
44
|
+
drop cached model objects from CacheTable when they're not in use
|
45
|
+
|
46
|
+
allow scroll viewport to centre when at end of dataset
|
47
|
+
QAbstractItemView::ScrollHint
|
48
|
+
|
49
|
+
\value EnsureVisible Scroll to ensure that the item is visible.
|
50
|
+
\value PositionAtTop Scroll to position the item at the top of the viewport.
|
51
|
+
\value PositionAtBottom Scroll to position the item at the bottom of the viewport.
|
52
|
+
\value PositionAtCenter Scroll to position the item at the center of the viewport.
|
10
53
|
|
11
54
|
OSX
|
12
55
|
---
|
@@ -24,7 +67,6 @@ editing
|
|
24
67
|
-------
|
25
68
|
F2 for standard edit, F4 for calendar edit
|
26
69
|
Only move for data_changed if field was exited with tab, not enter.
|
27
|
-
make sure record is saved when changing tabs
|
28
70
|
tooltips for tabs
|
29
71
|
Help in general for new data capture people
|
30
72
|
Help to right of tabs
|
@@ -43,54 +85,19 @@ Doing data capture, sort by id, but unfilter reverts to date/id rather than entr
|
|
43
85
|
optional warnings for back-dated entries. Highlighting
|
44
86
|
make sure bsearch easier to install
|
45
87
|
|
46
|
-
ORDER BY allow functions, ie lower(project)
|
47
88
|
handle db errors
|
48
|
-
test with sqlite
|
49
89
|
easier way to run models, search LOAD_PATH
|
50
90
|
|
51
|
-
|
52
|
-
Ctrl-PgDn to last row in this column. Also extend selection
|
53
|
-
sorting by header. See void QAbstractItemModel::sort ( int column, Qt::SortOrder order = Qt::AscendingOrder )
|
54
|
-
- layoutChanged
|
55
|
-
|
56
|
-
search with acts_as_searchable and hyperestraier
|
57
|
-
acts_as_trashable to undo deletes
|
58
|
-
implement undo of field changes
|
59
|
-
|
60
|
-
cache belongs_to associations, during loading, ie don't affect ability to pick up
|
91
|
+
cache belongs_to associations, during loading, but don't affect ability to pick up
|
61
92
|
changes more or less instantly.
|
62
93
|
|
63
|
-
moving of columns
|
64
|
-
/-style keyboard search by selected column, or everything if no column selected
|
65
|
-
/-style filtering?
|
66
|
-
|
67
|
-
for dates, add year if not specified, with 6 months on either side range. Configurable?
|
68
|
-
value formatting not in model
|
69
|
-
copy a field from a mouse-selection (ctrl-b maybe)
|
70
|
-
hiding of fields
|
71
|
-
|
72
|
-
save context menu settings, filter settings, etc
|
73
|
-
filtering by various things. http://doc.trolltech.com/4.3/qsortfilterproxymodel.html
|
74
|
-
highlighting by various things
|
75
|
-
cut and paste (in model and csv format)
|
76
|
-
|
77
|
-
drop cached model objects from CacheTable when they're not in use
|
78
|
-
|
79
|
-
allow scroll viewport to centre when at end of dataset
|
80
|
-
QAbstractItemView::ScrollHint
|
81
|
-
|
82
|
-
\value EnsureVisible Scroll to ensure that the item is visible.
|
83
|
-
\value PositionAtTop Scroll to position the item at the top of the viewport.
|
84
|
-
\value PositionAtBottom Scroll to position the item at the bottom of the viewport.
|
85
|
-
\value PositionAtCenter Scroll to position the item at the center of the viewport.
|
86
|
-
|
87
|
-
|
88
94
|
preferences
|
89
95
|
-----------
|
90
96
|
store previous searches, by model & app
|
91
97
|
|
92
98
|
maybe
|
93
99
|
-----
|
100
|
+
Look at DataMapper. Not suitable - need to declare properties.
|
94
101
|
use rubigen for creating model definition files
|
95
102
|
allow moving of rows
|
96
103
|
discontiguous copying of entities/csv
|
@@ -108,5 +115,8 @@ restricted type for Account Type record
|
|
108
115
|
Times
|
109
116
|
-----
|
110
117
|
|
111
|
-
|
112
|
-
|
118
|
+
Ctrl-Shift-" should not copy date if it already exists, and should not copy time if it's a different date.
|
119
|
+
Ctrl-Shift-" after it's done, tab doesn't change fields
|
120
|
+
look up invoice for project leaves the wrong fields highlighted, and focus in the wrong field.
|
121
|
+
warnings on overlap times (in status bar, or highlight)
|
122
|
+
warnings on large intervals (in status bar, or highlight)
|