Commit Graph

243 Commits

Author SHA1 Message Date
miruka
d4a0434bd9 Disable "Select all" when no text in field/area 2020-07-10 13:14:18 -04:00
miruka
612ded755a Add context menu for text fields and areas 2020-07-10 13:14:18 -04:00
miruka
657b700fcd Context menu initial cursor position workaround
Workaround for this: when opening a context menu at cursor position,
cursor will be in the menu's border instead of first menu item,
forcing the user to move the mouse for the click to do anything.
2020-07-10 13:14:18 -04:00
miruka
9612470c9c Highlight first item when opening context menu 2020-07-10 13:14:18 -04:00
miruka
10eeb662af HTile: handle menu key press, open context menu 2020-07-10 13:14:17 -04:00
miruka
c35894e4c8 HTile: trigger leftClicked() on enter/return/space
This makes it possible to activate any tab-focused HTile with the
keyboard.
2020-07-10 13:14:17 -04:00
miruka
b6500add68 Remove useless imports in HAvatar and HNoticePage 2020-07-10 13:14:17 -04:00
miruka
9edfba8f18 Fix hovering media not changing mouse cursor shape 2020-07-10 13:14:17 -04:00
miruka
dbfe04458c Set HStackView transitions that make sense 2020-07-10 13:14:17 -04:00
miruka
9b43bef935 Add profile/verification UI for room members 2020-07-10 13:14:17 -04:00
miruka
2674702a59 Fix field/area left/right press with selected text
Fix bug in HTextField & HTextArea: when all text was selected, pressing
left or right arrow keys to go to the beginning or end and deselect
didn't respond.
2020-07-10 13:14:17 -04:00
miruka
24e657d193 Protect field/area text binding if no default text 2020-07-10 13:14:17 -04:00
miruka
3933615f67 Fix menu/popup destruction disabling keybinds 2020-07-10 13:14:17 -04:00
miruka
90a7a3a6cf Add kineticScrollingMaxSpeed setting 2020-07-10 13:14:17 -04:00
miruka
2d410bb7cc Themes: rename section scrollbar → scrollBar 2020-06-26 08:21:24 -04:00
miruka
604daed5fe Increase button focusline height to avoid problems 2020-06-26 06:56:29 -04:00
miruka
980e258df8 Always parent popups to window 2020-06-26 06:41:15 -04:00
miruka
d058926902 Uncheck messages before clearing event list 2020-06-26 06:11:03 -04:00
miruka
d40852a11c HListView: add checkedIndice property 2020-06-26 03:47:55 -04:00
miruka
78c04e6404 Fix flickable pages keyboard scrolling 2020-06-26 03:16:36 -04:00
miruka
dcc634be04 Page & popups: standardized keyboard accept/cancel 2020-06-25 10:27:24 -04:00
miruka
470b0f0de2 Implement HLabeledItem loading mode 2020-06-25 09:46:26 -04:00
miruka
da4a5ab5cd Rework HBox-based pages and account settings
- Refactor everything about HBox, and adapt all the pages and popups
  that used it

- Replace HTabContainer by HTabbedBox

- Make boxes swippable

- Make esc presses in boxes click the cancel button

- Make all boxes and popups scrollable when needed

- Replace generic apply button icons in popups

- Fix tab focus for error and invite popups

- Rework (still WIP) the account settings page:
  - Use the standard tabbed design of other pages
  - Ditch the horizontal profile layout, hacky and impossible to extend
  - Add real-time coloring for the display name field

- Implement a device list in account settings (Sessions, still WIP)
2020-06-25 08:49:27 -04:00
miruka
72bd78c77e Don't keyboard-focus invisible HMenuItems 2020-06-24 16:47:51 -04:00
miruka
2d8dbb172d Use fancy focus lines for buttons 2020-06-23 09:18:42 -04:00
miruka
07013d0ed4 Unify text field/area focus line into a component 2020-06-23 08:44:58 -04:00
miruka
8b0f408f34 Fix text field/area leaking arrow presses
Prevent leaking arrow presses to parent elements when the carret
is at the beginning or end of the text.
2020-06-23 06:17:52 -04:00
miruka
ad36fc72f4 Fix Connections deprecation warning on Qt 5.15
Adopt the correct behavior to get rid of
"QML Connections: Implicitly defined onFoo properties in Connections
 are deprecated. Use this syntax instead:
 function onFoo(<arguments>) { ... }"
2020-06-22 14:11:56 -04:00
miruka
ae37e13c6e Use new scrollbars for scrollviews (ie text areas) 2020-06-22 13:57:49 -04:00
miruka
783a711799 Customized themable scrollbars 2020-06-22 13:48:55 -04:00
miruka
e756bd2909 Set a minimum size for scrollbars 2020-06-19 12:03:04 -04:00
miruka
d4350f6e86 Borders for HTextArea 2020-06-06 21:54:13 -04:00
miruka
8d3ac9cd48 HTextField: support radius, have a fancier border 2020-06-06 21:45:01 -04:00
miruka
1f441a488e Fix HFlickableColumnPage bottom padding 2020-06-05 05:53:49 -04:00
miruka
3314489a26 Make room settings pane scrollable
The new Base/ButtonLayout components will be used in the near future to
refactor other HBox-based components
2020-06-05 05:42:12 -04:00
miruka
48faac9a32 HFlickable: interactive even if nothing to scroll 2020-06-05 05:40:43 -04:00
miruka
cfee1b1e4b Fix cursor shape over text fields/areas
Fix only applies if kinetic scrolling is enabled, need WheelHandler (Qt
5.14+) otherwise
2020-06-05 01:54:42 -04:00
miruka
00ee534150 HLabeledItem: base label/icons opacity on item's 2020-06-03 04:50:19 -04:00
miruka
9f51b3c1ca Fix field and text area defaultText binding
Break the binding when the field is focused, recreate it when focus is
lost, properly recreate it when using reset() function.
2020-06-03 04:50:10 -04:00
miruka
e676473f82 HLabeledTextField → extensible HLabeledItem 2020-06-02 20:14:55 -04:00
miruka
9862e39108 HSelectableLabel: selectByMouse true by default 2020-05-30 23:08:21 -04:00
miruka
8b9681dc78 Rename HTextArea.append() → .insertAtCursor() 2020-05-30 23:08:21 -04:00
miruka
01d3b6b489 Remove usage of HScrollableTextArea 2020-05-30 23:08:21 -04:00
miruka
a91a0c18f7 Refactor Composer
- Have a simple HTextArea component instead of HScrollTextArea
- Split composer parts between multiple files
2020-05-30 23:08:21 -04:00
miruka
a87cbd3bac HTextField: fix implicitHeight Binding 2020-05-30 23:08:21 -04:00
miruka
6f688ae1aa Implement circle progress bars in QML 2020-05-21 20:06:47 -04:00
vslg
6f68f35810 Fix goal is disabling kinetic scrolling 2020-05-20 23:03:36 -03:00
vslg
1bad1e1106 Multiply scrollFactor to wheel.pixelDelta 2020-05-20 21:09:34 -03:00
vslg
3094e47a99 Fix bugs and improve trackpad scroll precision
Improve trackpad precision by making the amount
of scroll, flickVelocity and flickDeceleration
proportional
2020-05-20 21:09:34 -03:00
vslg
107f928007 Fix bug when setting useTrackpadFix option 2020-05-20 21:09:34 -03:00
vslg
f72544e3d0 Improve trackpad fix
- Add it to remaining components
- Do not use Timer, as flickDeceleration from
  Flickable is more performant
- Add a setting option for it: useTrackpadFix
2020-05-20 21:09:34 -03:00
vslg
b179480327 Remove allowDragging, as it is not needed anymore 2020-05-20 21:09:34 -03:00
vslg
d840080fdb Add custom scroll handler to MouseArea 2020-05-20 21:09:34 -03:00
miruka
f20853b7ad Restore correct highlight when no more room filter 2020-05-15 20:56:23 -04:00
miruka
e147b87d1b Remove superfluous HTileDelegate, use HTile 2020-05-15 20:56:23 -04:00
miruka
ad7bce657c Merge RoomList & AccountBar account delegates code 2020-05-15 20:56:23 -04:00
miruka
bbb00dd8a0 Let escape presses work properly inside HDrawer
Also add escape to clear member filter when focusing the field, and
clearMemberFilterOnEscape setting.
2020-05-15 20:56:23 -04:00
miruka
45048e625c Fix UI parts focus keybind and buttons 2020-05-15 20:56:23 -04:00
miruka
922f12e9f9 Highlight correct account/room on startup 2020-05-15 20:56:23 -04:00
miruka
fe18b725a5 Use an horizontal bar for accounts 2020-05-15 20:56:23 -04:00
miruka
45790dc57c Remove unused old model stuff 2020-05-15 20:56:23 -04:00
miruka
b4561ce50b Fix back/forward headers buttons in small window 2020-05-15 20:56:23 -04:00
miruka
c2e212c1eb Add syncing indicator to AccountsBar accounts 2020-05-15 20:56:23 -04:00
miruka
7048a0ac08 Remove now unused HFilterModel 2020-05-15 20:56:23 -04:00
miruka
54b5f7b8f2 Fix HFilter find functions 2020-05-15 20:56:23 -04:00
miruka
4f9e320074 Click on account with 0 rooms → AddChat page 2020-05-15 20:56:23 -04:00
miruka
cc4a780865 Fix account bar scrolling
All delegates must have the same padding, or the ListView doesn't know
how to scroll to a certain index anymore
2020-05-15 20:56:23 -04:00
miruka
c352275089 Maybe fix the DelegateModel + ListView.add bug 2020-05-15 20:56:23 -04:00
miruka
0d25c4caeb Improve HTile(Delegate) paddings 2020-05-15 20:56:23 -04:00
miruka
36a214bf1a Fix main pane minimum size 2020-05-15 20:56:23 -04:00
miruka
2bb13bf7f7 HStringFilterModel: Refilter when field changes 2020-05-15 20:56:23 -04:00
miruka
7418f0fe93 Add dedicated HStringFilterModel component 2020-05-15 20:56:23 -04:00
miruka
69a525d317 Replace SortFilterProxyModel by DelegateModel 2020-05-15 20:56:23 -04:00
miruka
65103eaaba Add keybinds to switch accounts 2020-05-15 20:56:23 -04:00
miruka
72c96b3ba5 Start restructuring how the account/room pane work 2020-05-15 20:56:23 -04:00
miruka
554f5d6013 Fix need to press Esc twice to exit popups/menus 2020-04-03 07:53:36 -04:00
miruka
ad937573cf Rewrite HTile and adapt components using it
Rewrite HTile in a more standard way, hopefully fixing the
mysterious segfault on some systems
2020-04-03 07:53:36 -04:00
miruka
790229e188 Make DebugConsole keyboard-scrollable again 2020-04-03 07:53:36 -04:00
miruka
1038678a2f Refactor global shortcuts, simplify debug consoles
- Move out all shortcuts from their central file to the component they
  actually belong to

- Get rid of DebugConsoleLoader and the multiple consoles handling mess,
  have only one global console
2020-04-03 07:53:36 -04:00
miruka
c64179fcbd Fix "AbstractButton" problem with Qt 5.14 2020-03-27 10:36:50 -04:00
miruka
af6cdc9013 Rename HListView checking-related functions 2020-03-27 05:05:25 -04:00
miruka
936c49127d Add keyboard controls for message focus/selection 2020-03-27 04:49:01 -04:00
miruka
ba86414ddf Implement shift+click/A-B message selection 2020-03-26 23:24:37 -04:00
miruka
4a780e20f4 Make HMenu modal
Prevents accidentally triggering TapHandlers when clicking outside of
the menu to exit it.
2020-03-26 22:00:35 -04:00
miruka
2d471b70f5 Single message text selection for mouses 2020-03-26 22:00:00 -04:00
miruka
3852357614 Start implementing new message selection system 2020-03-26 22:00:00 -04:00
miruka
710dba09ec Remove message text selection hack 2020-03-26 22:00:00 -04:00
Rinigus
d17c6334da Add pen as an input device to the right click handler 2020-03-24 19:52:48 +02:00
Rinigus
5058e3c13e Fix activation of right-click on touch devices 2020-03-24 16:43:31 +02:00
miruka
b11bd8331b Fix constant CPU usage due to HButtonContent
Unload the animated HBusyIndicator when not needed
2020-03-23 14:04:00 -04:00
miruka
ef2504ecae Visual unread mentions counter 2020-03-22 23:55:48 -04:00
miruka
53dfd08131 Add toggleCompactMode keybind, re-rename setting 2020-03-22 13:30:03 -04:00
miruka
18c16ca486 Rename compact mode setting → compactModeByDefault 2020-03-22 13:24:38 -04:00
miruka
5d513f84fa Add compact mode for sidepanes + setting 2020-03-22 12:50:51 -04:00
miruka
ac85935236 Animate avatar placeholder colors 2020-03-21 14:56:44 -04:00
miruka
ee6ac18671 Show pages headers to go back to pane when needed 2020-03-19 20:33:46 -04:00
miruka
03251f019e Really fix icon-only buttons alignment 2020-03-19 11:37:05 -04:00
miruka
e86c5d7163 Fix "loading past messages" busy indicator width 2020-03-19 11:14:28 -04:00
miruka
e5c3afa219 Remove gray line at the bottom of tabs 2020-03-19 11:14:28 -04:00
miruka
2ef75faa71 Use HBusyIndicator as button loading indicator 2020-03-19 11:14:28 -04:00
miruka
effc268cac Remove text field border animation 2020-03-19 11:14:28 -04:00
miruka
fe40d117b2 Fix room pane default size 2020-03-19 00:13:19 -04:00
miruka
6ede699fdf Fix text area/field disabled text wrapping 2020-03-17 17:41:15 -04:00
miruka
5392016dab Add setting controlling when panes should collapse 2020-03-17 15:38:54 -04:00
miruka
8452bdd5e7 Print only short error when image retrieval fails 2020-03-17 12:11:18 -04:00
miruka
e23f6f2e7c Remove uneeded and update some QML imports 2020-03-16 09:04:59 -04:00
miruka
665c00645b Fix displaying transparent GIFs 2020-03-16 00:15:47 -04:00
miruka
647d2e1f1f Fix (explicitely define) popup overlay 2020-03-15 19:08:12 -04:00
miruka
bbc4a9bb17 Fix HMenuItem icon colors 2020-03-15 19:08:12 -04:00
miruka
beac0ce3dd HBox: fix error when setting firstButton sometimes 2020-03-15 19:08:12 -04:00
miruka
ebab1e15c2 Add more control on radiuses from themes 2020-03-15 19:08:12 -04:00
miruka
615c08848d HBox: respect theme.radius 2020-03-15 19:08:12 -04:00
miruka
deb4161bbe Make fields and text areas respect theme.radius 2020-03-15 19:08:12 -04:00
miruka
1c23450805 Make events, checkbox, avatars respect radius 2020-03-15 19:08:12 -04:00
miruka
abdaf13da5 Add way to round images 2020-03-15 19:08:12 -04:00
miruka
5d7aa0b142 Fix composer alias field label overflow 2020-03-13 12:16:09 -04:00
miruka
298043b3cb Prevent saving alias taken by other account 2020-03-13 12:10:47 -04:00
miruka
8c1c3ef05c Add explanation tooltip for composer alias 2020-03-13 11:35:05 -04:00
miruka
630e011cfd HMxcImage: cancel media retrieval on destruction 2020-03-13 02:52:38 -04:00
miruka
5cee0f6c8a Improve overall theme and pane colors 2020-03-13 01:09:04 -04:00
miruka
8a43690676 Remove old HSortFilterProxy component 2020-03-11 11:05:32 -04:00
miruka
5f6a23f051 Split HPage into more specialized components 2020-03-11 10:45:47 -04:00
miruka
aafbecfdda Fix main pane highlight 2020-03-10 05:38:28 -04:00
miruka
7ee83c5fe4 Downloaded files: include title + ext in filename 2020-03-09 11:46:08 -04:00
miruka
2a2b3df845 Utils.urlExtension: don't lowercase returned ext 2020-03-09 11:00:48 -04:00
miruka
cdb79d11aa Use const instead of let when possible 2020-03-08 04:46:20 -04:00
miruka
ffc8a13db6 Get rid of the HMxcImage undefined py warnings 2020-03-08 04:27:51 -04:00
miruka
46232e3fb1 Button icon.cache only exists for Qt 5.13+ 2020-03-07 13:08:18 -04:00
miruka
1556e569b8 Replace room loading bar with an eventList header 2020-03-07 11:11:32 -04:00
miruka
c49f9b98b2 Split RoomPane into Base/MultiviewPane 2020-03-06 08:41:04 -04:00
miruka
a78f5506b8 AccountRoomList keyboard up/down
Item activation or proper scrolling not reimplemented yet
2020-02-12 17:58:24 -04:00
miruka
9990fecc74 Begin yet another model refactor
Use native ListModel which require a lot of changes, but should be
much faster than the old way which exponentially slowed down to a crawl.
Also fix some popup bugs (leave/forget).

Not working yet: side pane keyboard controls, proper highlight,
room & member filtering, local echo replacement
2020-01-06 03:41:14 -04:00
miruka
a1256cf20a Turn Clipboard into a singleton 2019-12-27 09:06:42 -04:00
miruka
35fd57be56 Improve HDrawer complience/behavior with zoom 2019-12-26 11:09:40 -04:00
miruka
e9efca76d4 HDrawer: snap around default size when resize-drag 2019-12-22 09:35:21 -04:00
miruka
b4df752f8a Improve MembersView when RoomPane collapsed 2019-12-22 09:35:21 -04:00
miruka
be61a34ec0 Event context menu entry to open debug console
Replaces the hidden double-click-on-empty-space feature
2019-12-20 10:39:10 -04:00
miruka
9bd739a0db Fix focus and simplify popup-opener menu items
Introduce a HmenuItemPopupSpawner component that takes care of reacting
to onTriggered signals and calling the utils.makePopup() function.

The combination of this new component used in HMenu to open a HPopup
now correctly takes and restore focus to the right element when closed.
2019-12-20 10:30:50 -04:00
miruka
5857f4e398 Better defined maximum sizes for the panes 2019-12-19 19:27:39 -04:00
miruka
be0541f2d9 Improve HRepeater width properties 2019-12-19 16:00:37 -04:00
miruka
fb1f9c62e5 Add SPDX ID LGPL v3+ license headers 2019-12-19 07:46:16 -04:00
miruka
d675b3a40b Fix HDrawer import versions 2019-12-18 05:02:37 -04:00
miruka
2bdf21d528 Rename some filers and folder for clarity 2019-12-18 04:45:09 -04:00