Commit graph

328 commits

Author SHA1 Message Date
Dave Davenport
d52c80d76f [Textbox] Remove unneeded calls to pango_layout_get_pixel_size.
This was 21% of the widget update time.
2017-03-14 17:02:03 +01:00
Dave Davenport
652749081a Fix missing doxygen documentation 2017-03-11 13:20:46 +01:00
Dave Davenport
cee753bd3c Zeltakmadness (#572)
* Allow modi to set extra pango attributes on displayed rows

* Fix some documentation, only highlight the mode name with color.

* Small rename.
2017-03-10 23:39:29 +01:00
Dave Davenport
25678d7a59 Floor the result, so we do not get 1/2 pixel gaps. 2017-03-09 19:00:26 +01:00
Dave Davenport
3f4d58ef53 Indent code. 2017-03-04 19:41:06 +01:00
Dave Davenport
3d2491556e Fix small issue positioning top of text in entrybox. (I hope) 2017-02-24 09:54:11 +01:00
Dave Davenport
dc7e4aa96e Install some headers for use in plugins 2017-02-17 14:06:31 +01:00
Dave Davenport
87251a991c Indent 2017-02-09 08:27:26 +01:00
Dave Davenport
ef4d09be1f Tweaking corner case when box is small 2017-02-08 19:48:15 +01:00
Dave Davenport
1d6b1494e9 Fiddle with the corners again.. less complecated is good 2017-02-08 10:15:38 +01:00
Dave Davenport
7b3e0918cf Reduce amount of paths created 2017-02-06 23:45:46 +01:00
Dave Davenport
d3b050e1f1 First draw widget, then draw border around it.. extend clipmask by 0.5 a pixel in the corner. 2017-02-06 23:30:39 +01:00
Dave Davenport
3056064e68 Fix missing - in clip mask 2017-02-06 23:02:19 +01:00
Dave Davenport
b51a20c433 limit radius when height/weight gets to small 2017-02-06 21:31:13 +01:00
Dave Davenport
db92ff1f41 Add border radius to border around widget. 2017-02-06 21:17:56 +01:00
Dave Davenport
8ef7b4b794 Don't recreate every string everytime. 2017-02-03 20:49:16 +01:00
Dave Davenport
2fe22cb7e2 Return to default border when nothing set after state update 2017-02-03 15:44:52 +01:00
Dave Davenport
8f4a4d51c6 Don't apply fonts that don't result in family name or have size 0.
Issue: 554
2017-02-03 09:54:18 +01:00
Dave Davenport
42a1eba275 Remove the extra layer each textbox keeps for drawing its text. (#553) 2017-02-02 20:31:47 +01:00
Dave Davenport
cc0ab10833 Fix malloc in textbox 2017-02-02 08:36:55 +01:00
Dave Davenport
954288ab81 Give overlay widget a parent, queue widget redraw on enable/disable 2017-01-31 08:09:55 +01:00
Dave Davenport
b63e417e38 Add configurable fonts for testing. #544 2017-01-24 08:40:37 +01:00
Dave Davenport
a5d2db256e Clear theme memory on close, free temporary widget 2017-01-09 23:08:11 +01:00
Dave Davenport
cf1940f8cb Reset theme if parsing fails, so we don't display using 1/2 parsed theme 2017-01-09 23:01:09 +01:00
Dave Davenport
25dff63006 Improve error handling string. 2017-01-09 22:40:11 +01:00
Dave Davenport
ca01af6338 Try to improve error handling and messages 2017-01-09 22:29:31 +01:00
Dave Davenport
854aa55453 Better error reporting (1) 2017-01-09 18:32:26 +01:00
Dave Davenport
5188e36147 Remove unused functions and other small fixes 2017-01-09 08:39:02 +01:00
Dave Davenport
f42e4ffbd7 Remove old cairo color set functions 2017-01-09 08:32:16 +01:00
Dave Davenport
baab2047ad Indent magic, rework makefile so lexer and yacc file are not passed. 2017-01-08 21:36:06 +01:00
Dave Davenport
8c0c43952d Make 'text' override foreground color for rendering text 2017-01-08 20:39:37 +01:00
Dave Davenport
26efbecbc3 Fix multiple -theme-str lines parsing, fix num lines 2017-01-08 17:18:49 +01:00
Dave Davenport
ce2cf6b2d9 Make error dialog widget layout match normal one 2017-01-08 16:49:46 +01:00
Dave Davenport
c57e7348d2 Add some better error message. Allow -theme-str option to override part of theme 2017-01-08 16:09:24 +01:00
Dave Davenport
361d5c62d7 Draw scrollbar when list is empty. 2017-01-06 22:12:24 +01:00
Dave Davenport
02dafeeccc Fix percentual margin. 2017-01-06 20:36:06 +01:00
Dave Davenport
af8a6541a2 Order entries in box based on index, allow theme to override. 2017-01-06 16:41:23 +01:00
Dave Davenport
5078034672 Add scrollbar 'handle-width' and 'handle-color' remove old syntax 2017-01-06 15:36:06 +01:00
Dave Davenport
52f4f32d89 Listview: hide widget when no row is visible and dynamic is enabled. 2017-01-06 13:42:00 +01:00
Dave Davenport
0e037237f8 Only queue redraw when state actually changes 2017-01-06 13:26:26 +01:00
Dave Davenport
f45e910a1b Q'nD: Update border and force redraw on state change 2017-01-06 13:24:35 +01:00
Dave Davenport
7e13bd8658 Quick 'n Dirty work around for handle color in scrollbar. 2017-01-06 13:13:03 +01:00
Dave Davenport
a02de2c410 Textbox take height set, when bigger then desired in autowidth mode 2017-01-05 22:56:32 +01:00
Dave Davenport
f2a4049991 Remove separator 2017-01-05 22:07:50 +01:00
Dave Davenport
3eb450c37e Add generic container (renamed window widget) put container around message. 2017-01-05 18:33:57 +01:00
Dave Davenport
a4bab4654a Scrollbarwidth is a Distance. 2017-01-04 23:14:43 +01:00
Dave Davenport
5d70985bb9 Reset line style, reset state after drawing border. 2017-01-04 22:46:46 +01:00
Dave Davenport
9dd3cb312e Support linestyle on border 2017-01-04 22:27:27 +01:00
Dave Davenport
85a0e1a57e Remove class system from new theme format. Fix theme converter. 2017-01-04 15:05:39 +01:00
Dave Davenport
645fe24890 Add debug output to themer that indicates unset properties. 2017-01-04 14:01:28 +01:00
Dave Davenport
44581fd90b Allow packing order to be set using theme. 2017-01-04 13:34:02 +01:00
Dave Davenport
8bbf1b36d5 Don't draw widget when size is 0 or less. 2017-01-04 10:47:37 +01:00
Dave Davenport
6305bbbf39 Fix border with margin. take 2. 2017-01-04 00:36:33 +01:00
Dave Davenport
c96e95c766 Hopefully fix border with margin setting 2017-01-04 00:06:13 +01:00
Dave Davenport
495dfb4c20 Add support for margin. 2017-01-03 23:51:15 +01:00
Dave Davenport
953e260511 When order is reversed. reverse listview order fix #523 2017-01-03 20:33:30 +01:00
Dave Davenport
3f8c5378c4 Reverse scrollbar when listview is reversed. 2017-01-03 20:28:19 +01:00
Dave Davenport
a836346968 Allow listview to be reversed in order.
Issue: #523
2017-01-03 20:22:29 +01:00
Dave Davenport
f9fc01b176 Add percentage option to border,padding 2017-01-03 19:23:09 +01:00
Dave Davenport
7600668bff Update window copyright 2017-01-03 18:06:21 +01:00
Dave Davenport
9f294437f0 Merge remote-tracking branch 'origin/master' into themer 2017-01-03 18:02:51 +01:00
Dave Davenport
4f4770ee4f Fix wrong sed replace. 2017-01-03 18:02:21 +01:00
Dave Davenport
8163204320 Merge remote-tracking branch 'origin/master' into themer 2017-01-03 18:00:12 +01:00
Dave Davenport
22e2d7587d Update copyright to 2017. 2017-01-03 17:59:28 +01:00
Dave Davenport
3435599939 Allow for different color handle 2017-01-03 16:05:00 +01:00
Dave Davenport
b60ca07f1f Remove border-width property from window. 2017-01-03 15:57:40 +01:00
Dave Davenport
861b52a523 Add support for borders around widgets. 2017-01-03 15:39:19 +01:00
Dave Davenport
e982a439fb Fix spacing in listview and box. 2017-01-03 14:25:24 +01:00
Dave Davenport
f82129aab8 Box: static widget should get their desired height. 2017-01-03 12:18:11 +01:00
Dave Davenport
a41d6c4ab4 textbox, draw better cursor, fix desired height query.
- update layout before query.
 - Correct autoheight logic.
2017-01-03 12:17:17 +01:00
Dave Davenport
9c7b5fe7a9 Restructure for readability. no change 2017-01-03 00:59:37 +01:00
Dave Davenport
37d99378dd cleanup some of sizing logic. 2017-01-02 21:19:27 +01:00
Dave Davenport
ccf3f23d9b Update comments, rename Widget to ThemeWidget. 2017-01-01 18:08:49 +01:00
Dave Davenport
7d16d1a552 Slowly move more settings to the configuration convert. 2017-01-01 15:39:02 +01:00
Dave Davenport
0a8bdb6a98 Always queue a redraw on a resize event. 2017-01-01 02:27:51 +01:00
Dave Davenport
f43bf3dc6a On textbox update tell it to update parent. 2017-01-01 02:00:54 +01:00
Dave Davenport
7b0e0643c8 Make spacing be of type distance. 2016-12-31 23:27:17 +01:00
Dave Davenport
52e850dc33 Fix EM support, use char height 2016-12-31 23:00:06 +01:00
Dave Davenport
068592414e Support em format in padding 2016-12-31 22:47:22 +01:00
Dave Davenport
2bfbb464e6 Fix more sizing issues 2016-12-30 19:59:45 +01:00
Dave Davenport
eafd4697a2 Fix some of the sizing issues. 2016-12-30 18:31:30 +01:00
Dave Davenport
eda70f337a Remove debug output. 2016-12-29 22:11:02 +01:00
Dave Davenport
5183c14b51 textbox use padding accessors 2016-12-29 17:31:37 +01:00
Dave Davenport
aa5b7a7ff8 box use padding accessors 2016-12-29 17:25:28 +01:00
Dave Davenport
530eee0bf6 scrollbar use padding accessors 2016-12-29 17:25:09 +01:00
Dave Davenport
a966cd158d separator use padding accessors 2016-12-29 17:09:22 +01:00
Dave Davenport
eec772d01d listview use padding accessors 2016-12-29 17:04:16 +01:00
Dave Davenport
a2001d1b9c Add window widget, play with logic for sizing (broken) 2016-12-28 19:42:14 +01:00
Dave Davenport
91baac3968 Fix desired size of listview, tweak textbox rendering 2016-12-28 14:10:27 +01:00
Dave Davenport
d63b9cb15e Padding to textbox. remove config.line_padding 2016-12-28 13:46:53 +01:00
Dave Davenport
5dfddf8840 Support padding in listview 2016-12-28 13:17:02 +01:00
Dave Davenport
77fdb08169 Allow padding on scrollbar 2016-12-28 12:57:58 +01:00
Dave Davenport
843ccc1e41 Update drawing, background per widget. 2016-12-28 12:21:42 +01:00
Dave Davenport
dfc8a31126 Redo some of the redrawing methods, better padding support 2016-12-28 00:37:32 +01:00
Dave Davenport
1c611b0eec First start at adding 4 sided padding 2016-12-27 22:19:15 +01:00
Dave Davenport
68b0502220 Merge remote-tracking branch 'origin/master' into themer 2016-12-20 19:34:24 +01:00
Dave Davenport
74a1d0313a Force all three properties of scrollbar to be in sync 2016-12-20 19:29:46 +01:00
Dave Davenport
efd1e07755 Fix typo in theme name. 2016-12-15 09:46:42 +01:00
Dave Davenport
4858dad631 Merge remote-tracking branch 'origin/master' into themer 2016-12-15 09:17:55 +01:00
Dave Davenport
d7b5b9fbfa Fix some compile warnings 2016-12-15 09:17:39 +01:00
Dave Davenport
38035568f3 Fix separator class and tweak parser inheritance. 2016-12-13 00:09:51 +01:00
Dave Davenport
fd64bb7a41 Improve lexer by adding support for modes. 2016-12-12 23:40:43 +01:00
Dave Davenport
be0677cf49 Update theme to new format.
- @class state {

}
- #name state {

}
2016-12-12 21:14:57 +01:00
Dave Davenport
3b850f4472 Fix theme_name generator for textbox 2016-12-11 18:00:45 +01:00
Dave Davenport
78abbeb710 Textbox uses new theme engine.. 2016-12-11 17:06:31 +01:00
Dave Davenport
1dfac3c4da Update to new theme 2016-12-11 12:19:46 +01:00
Dave Davenport
2d01d1566a Add some properties to themes 2016-12-09 22:16:31 +01:00
Dave Davenport
862c04ef61 Fix drawing order when widget is added at end. This simplifies bottom mode.
Fixes: #505
2016-11-27 16:02:37 +01:00
Dave Davenport
0da5737cee If widget is disabled, don't check redraw flag as it wont be cleared.
This reduces a lot of false redraws caused by overlay widget.

Issue: #496
2016-11-10 12:17:27 +01:00
Dave Davenport
4c5df96fcd Pull config option access from out of separator widget. 2016-11-01 08:04:39 +01:00
Dave Davenport
fb459e1660 Make scrollbar behave better 2016-10-26 08:24:34 +02:00
Dave Davenport
a38ac9caf3 Update scrollbar behaviour, so dragging is more natural. (limit range from hw/2 to h-hw/2) 2016-10-25 21:19:39 +02:00
Dave Davenport
b19ab62e17 add scrollbar test. 2016-10-24 17:48:04 +02:00
Dave Davenport
d25ad4dac6 clang-check fix. 2016-10-22 21:34:19 +02:00
Dave Davenport
881056ea9b Add some more tests, make some textbox api's private 2016-10-20 09:41:32 +02:00
Dave Davenport
7b3b68462e Fix memory leak in box and listview widget, add coverage make target. (ggcov and lcov) 2016-10-18 13:49:24 +02:00
Dave Davenport
df26193096 Fix redrawing (call queue redraw, not need redraw) fix end of string check. 2016-10-17 20:54:02 +02:00
Dave Davenport
0e176199fc Fix some possible null pointer dereference. (clang-check) 2016-10-17 18:21:03 +02:00
Dave Davenport
cdb1b96414 Fix issue #482: Set work directory 2016-10-15 20:00:26 +02:00
Dave Davenport
f0981d6697 Indenting, comments 2016-10-15 15:39:08 +02:00
Dave Davenport
9293c8b8ce More docu updates 2016-10-14 18:56:09 +02:00
Dave Davenport
ce341f6885 Document more headers. 2016-10-14 16:46:54 +02:00
Dave Davenport
306eeac3fe Add some NULL tests to widget test 2016-10-13 17:54:52 +02:00
Dave Davenport
1cd94c27c7 Update documentation, tests for widget 2016-10-13 09:22:08 +02:00
Dave Davenport
07425fd10a Always refilter when switching modi. 2016-10-11 08:11:14 +02:00
Dave Davenport
f3298801f3 Split internal widget into separate file 2016-10-09 10:13:15 +02:00
Dave Davenport
f10bc5004f Make separator work in both directions ( hori/vert ). 2016-10-09 10:07:32 +02:00
Dave Davenport
3c64507f02 Qtk widgets (#478)
* Initial support for using boxes for packing widgets.

* Make CapiTalIzation more consistent

* Move widgets to subdirectory

* Removed nolonger needed resize function.

* Small cleanup

* When switching mode, reuse view, don't rebuild it. Reduces artifacts.

* Needs cleaning up.

* Remove separate prompt argument, use display_name

* Simplify run-switcher code.

* Add notion of parents, and trigger parent update on resize.

* Use widget_get_height wrapper, avoid crash

* Size separator width based on height. (indent)

 * TODO add margin to box.

* First draft version of listview.

* Add scrollbar to listview widget

* Add padding option to box

* Move access to global config out of widget. (1/2 done)

*  Remove printf

* Make listview not access global config

* Add click support, implement on mode buttons.

* Re-introduce mouse handling on list-view.

* TODO draggin on scrollbar.

* Fix multi-select

* Fix warnings

* Fix include
2016-10-08 18:57:59 +02:00