Commit graph

333 commits

Author SHA1 Message Date
Dave Davenport
245ce2a95f [Icon] Suppport distance for size. 2019-08-15 21:52:17 +02:00
Dave Davenport
618d1396ee
Issue949 (#999)
* [Issue 949] Add initial split of listview row into widget tree.

Allowing better themeing.

* Remove unneeded code from textbox. allow dis. icons.

* Fix typo.

* Fix wrong widget offset in textbox.

* Fix mouse handling

* [ListView] Add 'fixed-columns' boolean option.

* [Listview] Fix inversion of option.

* [ListView] remove commented old code.

* [Textbox] Handle null pointer on desired width.

* [Listview] Fix crasher with fixed_columns and more max elements requested items.

* Add hack to get backwards compatibility for new listview structure.

* Fix the scrollbar test.

* Fix tests for theme update..
2019-08-08 20:02:20 +02:00
Dave Davenport
52c5592a6f [ListView|Textbox] Add user-settable ellipsize mode.
Fixes: #917
2019-05-04 11:04:54 +02:00
Dave Davenport
8d4b8ce5de [Icon] Use horizontal align for x-align option.
Thx SardemFF7 for spotting this.
2019-03-24 12:37:27 +01:00
Dave Davenport
5b83b2ed23 Allow aligning icon 2019-03-24 10:31:13 +01:00
Dave Davenport
804f130d5b [CodeCY] Cleanup some more warnings given by CodeCY. 2019-02-02 11:53:33 +01:00
Dave Davenport
859a9c79d6 Indent the code. 2018-08-08 15:55:13 +02:00
Maxim Baz
ff9b0f5ccd Add default shortcuts: Shift+BackSpace to delete previous char, Ctrl+Left/Right for word movements (#790)
* Support Shift+BackSpace by default to delete previous char

* Support Ctrl+Arrow for word movements
2018-06-13 14:15:31 +02:00
Dave Davenport
9909fb3d71 More documentation fixes 2018-06-12 14:11:08 +02:00
Dave Davenport
32b45c2d10 Fix documentation
* theme
* view
* textbox
2018-06-12 12:16:33 +02:00
Dave Davenport
b837c3fdff Change log domain from Utils.IconFetcher to Helpers.IconFetcher
Matches doxygen.
2018-06-12 11:47:03 +02:00
Dave Davenport
0633bc9dad Remove (unused) widget ref counting. 2018-06-12 10:08:29 +02:00
Dave Davenport
441c511296
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.
Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool.

* Make threadpool more generic usable.
* Add generic icon fetcher, that caches icons.
* Make DRUN use this fetcher.
* Add icon widget.

#809
2018-06-09 19:13:57 +02:00
Dave Davenport
2da5e5ee55 [TextBox] Add a reference to the cairo surface when displaying an icon. 2018-05-12 10:40:15 +02:00
Dave Davenport
3a726eabba
Fix how borders are drawn, so it looks correct when transparant. (#792)
* Try to fix borders a bit.

issue: #783

* Small cleanup to code, add comments to explain variables.
2018-04-08 10:19:43 +02:00
Dave Davenport
f041313efb Allow theme to override width on box. 2017-12-08 10:48:22 +01:00
Edward Betts
79adae77d7 Correct spelling mistakes. (#722) 2017-11-23 18:41:52 +01:00
Dave Davenport
9ae62960c1 Indent files. 2017-10-05 17:45:50 +02:00
Dave Davenport
0596f7c1a1 Correctly center and scale image, even if not rectangular 2017-09-21 19:27:04 +02:00
Dave Davenport
ff4946edaf Cleanup compiler warnings.
- Unused var.
- Missing switch statement.
- Change fallthrough for older compilers.
2017-09-17 18:17:26 +02:00
Dave Davenport
97467fceff Update small part of doc. set hadle-color on scrollbar in default theme. 2017-09-09 22:09:02 +02:00
Dave Davenport
acfc07a63e Fix Inherit keyword 2017-09-07 13:46:09 +02:00
Dave Davenport
72f050e2fc Move enabled into widget. 2017-09-07 08:52:30 +02:00
Dave Davenport
2a5cb6f621 Alias 'color' property name to 'text-color' 2017-09-07 08:35:09 +02:00
Dave Davenport
ae452271ac Fix sizing of listview rows. 2017-09-06 22:21:48 +02:00
Dave Davenport
6b43fed3aa use color, background-color and border-color 2017-09-06 19:02:09 +02:00
Dave Davenport
50998b8f04 Flatten hierarchy, don't inherit by default.
* add keyword inherit to language parser and theme structure.
2017-09-06 10:03:44 +02:00
Dave Davenport
9b0a430fd4 Indent. 2017-09-05 13:52:44 +02:00
Dave Davenport
ba296f9210 Add ch as size unit. 2017-09-05 13:52:21 +02:00
Dave Davenport
508e39c3f3 Set cursor to end of input field.
Fixes: #662
2017-08-29 10:40:24 +02:00
Dave Davenport
ee9f5f71c1 [TextBox] Remove dead (commented code) 2017-06-26 20:14:31 +02:00
Dave Davenport
e28b038d62 Check user data dir when looking for theme.
- set default textbox color to black.
2017-06-22 08:54:29 +02:00
Dave Davenport
26d9da7263 Position the overlay in the top right corner of the listview. 2017-06-12 08:17:28 +02:00
Dave Davenport
c53e6cc20c Make the compiler STFU about desired fallthroughs.
* https://dzone.com/articles/implicit-fallthrough-in-gcc-7
2017-06-12 07:47:44 +02:00
Dave Davenport
067544120f Make function declaration match function prototype.
- Extra NULL check.
2017-06-09 09:18:17 +02:00
Dave Davenport
ad91f9a124 [TextBox] Calculate yalign based on actual side, not estimated size. 2017-06-08 08:46:16 +02:00
Dave Davenport
9fe67c1822 [TextBox] Remove TB_LEFT/CENTER/RIGHT replace with xalign/yalign. 2017-06-07 20:16:14 +02:00
Dave Davenport
07076d154a Load theme-str after loading fallback themes.
* If no theme loaded, try converting old theme.
 * If still no theme loaded, try default theme.
 * Then load modifications (theme-str option)
2017-06-07 07:53:33 +02:00
Dave Davenport
a399adfa38 [TextBox] Fix centering with large padding 2017-06-06 09:28:36 +02:00
Dave Davenport
27d1da76b1 [TextBox] Fix yalign for cursor and icon. 2017-06-06 09:09:57 +02:00
Dave Davenport
1efb4dab6c Fix rendering of icons with single font size. 2017-06-04 16:08:34 +02:00
Dave Davenport
e12cf40e54 Change Listview::barview to Listview::layout 2017-06-03 21:46:21 +02:00
Dave Davenport
9a62bfd172 Run indenter. 2017-06-03 20:35:50 +02:00
Quentin Glidic
0adc0d7c08
view: Always create textbox with type
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-03 20:04:21 +02:00
Dave Davenport
5bc8ea29a5 Fix converting x,y to cursor position. 2017-06-03 18:39:37 +02:00
Dave Davenport
7c4709a43f Fix icon sizing, use font size. 2017-06-03 15:36:21 +02:00
Dave Davenport
044c55dd2f Fix icon offset.
- Always add more ()
2017-06-03 14:10:07 +02:00
Dave Davenport
4bd9828aa7 Remove index from box_add. 2017-06-02 16:53:39 +02:00
Dave Davenport
3e46228074 Change Padding to RofiPadding 2017-06-02 16:44:16 +02:00
Dave Davenport
ea7d20d150 Change Orientation enum to RofiOrientation. 2017-06-02 16:34:52 +02:00
Dave Davenport
9915857a2e Change Distance struct to RofiDistance. 2017-06-02 16:25:47 +02:00
Dave Davenport
7352f1c2ba Change PixelWidth to RofiPixelUnit. 2017-06-02 16:21:05 +02:00
Dave Davenport
48bf1709b6 Rename HL_ to ROFI_HL_ and fix box test. 2017-06-02 16:09:20 +02:00
Dave Davenport
eec5c6eadc Add orientation property. 2017-06-02 14:05:19 +02:00
Dave Davenport
cdc8e462b8 Merge remote-tracking branch 'origin/master' into barview 2017-06-01 14:20:36 +02:00
Quentin Glidic
2b6c084f32
textbox: Fix appending more than one character
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-01 13:26:19 +02:00
Quentin Glidic
46dee2671d
x11-helper: Rename xcb.c
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-06-01 00:12:58 +02:00
Quentin Glidic
ac8868f3b1
Indent icon code rework
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-31 20:21:58 +02:00
Dave Davenport
45e76b781e Merge remote-tracking branch 'origin/master' into barview 2017-05-31 17:52:25 +02:00
Dave Davenport
4e3830a519 [TextBox] Fix icon alignment issue when scaling icon. 2017-05-31 17:52:09 +02:00
Dave Davenport
2c0b398e78 Merge remote-tracking branch 'origin/master' into barview 2017-05-31 11:46:20 +02:00
Dave Davenport
939495f00b [TextBox] Fix icon offset. 2017-05-31 11:46:02 +02:00
Dave Davenport
f53e58ad95 Merge remote-tracking branch 'origin/master' into barview 2017-05-31 11:25:14 +02:00
Dave Davenport
59e012e85b [Textbox] fix wrong flag check for icon. 2017-05-31 11:23:24 +02:00
Dave Davenport
d8b0e24b09 Merge remote-tracking branch 'origin/master' into barview 2017-05-31 11:18:30 +02:00
Dave Davenport
4d8784cf85 Port fixes from icon-cleanup branch.
- Thread for fetching icons for drun.
- Fixed placing of icons instead of adding place-holder token that can
  mis-render.
- Give textbox TB_ICON flag.
2017-05-31 11:05:45 +02:00
Aaron Ash
43053cdfc3
view: Add icon (basic) support 2017-05-30 19:00:57 +02:00
Dave Davenport
9a6fd1c6c3 Merge in master 2017-05-30 16:23:19 +02:00
Quentin Glidic
4e448eac45
widget.test: Add NULL tests for trigger_action functions
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:20 +02:00
Quentin Glidic
acc1fa45b9
widget: Add motion grab support
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:19 +02:00
Quentin Glidic
0555d15c46
scrollbar: Make it scroll again
On click for now, will add motion grab in the following commit

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:19 +02:00
Quentin Glidic
823a45f711
scrollbar: Rework scrollbar_scroll_get_line to work on relative y
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:19 +02:00
Quentin Glidic
685d4f0e13
widget: Rely on find_mouse_target to send motion events
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:45:17 +02:00
Quentin Glidic
30da7e587a
widget: Add widget_xy_to_relative helper
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 13:44:05 +02:00
Quentin Glidic
6a750669d7
scrollbar: Drop unused variable
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-30 12:11:17 +02:00
Quentin Glidic
b314a90f1d
widget: Remove some more leftovers
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-29 21:03:52 +02:00
Quentin Glidic
a9199e3e17
Use libnkutils for keybindings
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-29 16:51:06 +02:00
Dave Davenport
a5e5493d6b Add extra NULL checks. 2017-05-28 18:19:59 +02:00
Dave Davenport
28f116b4a2 Allow textbox to be added in theme 2017-05-28 18:05:02 +02:00
Dave Davenport
fff06fc880 Don't keep pointer to inputbar/main_box 2017-05-28 17:34:53 +02:00
Dave Davenport
fa0380057b [Widget] Add desired width option. 2017-05-28 16:10:11 +02:00
Dave Davenport
0fdb1068da Allow layout to be overwritten 2017-05-27 17:08:46 +02:00
Dave Davenport
b73f938a82 Set box orientation in theme. 2017-05-26 20:23:46 +02:00
Dave Davenport
c23df70aeb Allow interface to be dynamically changed. 2017-05-25 23:41:15 +02:00
Dave Davenport
e387105091 [TextBox] Add 'vertical-align' option 2017-05-24 19:57:35 +02:00
Dave Davenport
7639153ad6 Change page-up/page-down behaviour for barview mode. 2017-05-24 08:10:03 +02:00
Dave Davenport
a0df3b37c7 [Barview] Small cleanups. 2017-05-23 10:48:02 +02:00
Dave Davenport
d592a59252 [ListView] Add bar mode. 2017-05-23 09:45:42 +02:00
Dave Davenport
f5c57ff821 [TextBox] Add get_desired_width function. 2017-05-23 09:12:04 +02:00
Dave Davenport
494550d38d [ThemeParser] Add CSS color names support
* [ThemeParser] Add css color names

* Add CSS color support (WIP)

* Parse color names in the lexer.

* Add test for css color names

* Indent and fix ordering
2017-05-15 22:46:33 +02:00
Dave Davenport
c54a817555 If we hit edge of entry box, make left/right move forward to listview. 2017-05-12 16:08:49 +02:00
Dave Davenport
67e38cde40 Fix some clang compiler warnings 2017-05-11 18:30:44 +02:00
Quentin Glidic
7f78031bda
widgets: Use G_PI and G_PI_2 instead of M_PI
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-05-04 13:40:16 +02:00
Dave Davenport
cc714f8f91 Fix more compiler warning 2017-05-04 07:56:40 +02:00
Dave Davenport
9afa7682f6 Fix some small warning because get_string returns const. 2017-04-28 09:15:01 +02:00
Dave Davenport
ce4b1b23b4 Re-Indent code 2017-04-27 22:59:14 +02:00
Dave Davenport
4157b5d825 [Theme] Allow default enabled state of widget to be set in theme 2017-04-18 08:47:48 +02:00
Quentin Glidic
9a68b22009
Fix licenses headers
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:32:05 +02:00
Quentin Glidic
cfbe4027bc
Consolidate logging
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2017-04-15 12:07:29 +02:00
Dave Davenport
ba9e1fb92a Switch to g_{debug,warning} instead of g_log 2017-04-15 11:37:50 +02:00
Dave Davenport
a754815d14 Add converter back for old theme format. 2017-04-02 12:32:11 +02:00
Dave Davenport
eeee200d8f Remove old theme support. (part 1) 2017-03-29 20:18:41 +02:00
Dave Davenport
50477a0b99 [Keys] Cleanup view a bit. 2017-03-17 14:07:11 +01:00
Dave Davenport
dfeb5940d4 Reduce scope and unneeded check. 2017-03-17 13:33:47 +01:00
Dave Davenport
ee931f5480 [Textbox] Remove unneeded calls to pango_layout_get_baseline.
Now bulk time is spend in drawing, not calculating.
2017-03-14 17:12:22 +01:00
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