clevic 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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)
|