Commit graph

82 commits

Author SHA1 Message Date
nerix
94e266ac82
fix: avoid holes when moving tabs (#5612) 2024-10-05 11:09:23 +00:00
pajlada
5deec1f02f
chore: remove Singleton & replace getIApp with getApp (#5514) 2024-07-21 13:09:59 +00:00
kornes
c3bb99eb01
Fix: tabs move animation for duplicated tabs (#5426)
* fix: check endValue for running animations only

* exit early when move is not needed

* ref: remove useless `positionChangedAnimationRunning_`

* check for parent notebook visibility instead

* ref: rename `pos` param to `targetPos`
2024-06-01 10:12:48 +00:00
KleberPF
d161036b18
Add feature to duplicate tabs (#5277)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-25 12:39:19 +00:00
nerix
8689bdb481
fix: get rid of duplicate scale events (#5404) 2024-05-19 09:11:51 +00:00
nerix
febcf464fe
Use Qt's High-DPI scaling on Windows (#4868) 2024-05-12 11:59:14 +00:00
Mm2PL
df2b5f94f4
Allow theming of tab live and rerun indicators (#5188) 2024-02-24 12:26:49 +00:00
Mm2PL
5c51ec8382
Live streams that are marked as reruns now mark a tab as yellow instead of red (#5176) 2024-02-18 16:22:53 +00:00
pajlada
4380ef8c5f
refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada
5b6675abb4
refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +01:00
nerix
1192393039
fix: Avoid unnecessary NotebookTab updates (#5068)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 11:04:04 +00:00
pajlada
99b537ffd9
Add some tests for NotebookTab (#5070)
* EmptyApplication: Add asserts to rest of getters (except for getSeventvAPI)

* Theme: make getTheme call getIApp()->getThemes() instead

this allows it to be used in tests
realistically this should be deprecated & users of it should just call
getIApp()->getThemes() directly

* Use getIApp() instead of getApp() in a few places
2024-01-06 11:42:45 +01:00
nerix
66f4480371
fix: Fixed some compiler warnings (#5028)
* fix(C4101): unreferenced local variable

* fix(C4189): variable initialized but not referenced

* fix(C4305): narrowing from double to float

* fix(C4457): declaration hiding function parameter

* fix(C4456): shadowing declaration

* fix(C4996): remove deprecations

* chore: add changelog entry

* fix: Remove more unused variables

* fix: removed unused lambda captures

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-16 11:24:28 +00:00
Daniel Sage
4361790fbd
Add setting to only show tabs with live channels (#4358)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-11 11:34:28 +02:00
nerix
5179567334
Use QEnterEvent for QWidget::enterEvent on Qt 6 (#4365)
* fix: use concrete QEnterEvent on Qt 6

* chore: add changelog entry
2023-02-11 18:13:29 +01:00
pajlada
fdb0a1582c
SplitContainer refactor (#4261)
* Remove unused include util/Helpers.hpp

* SplitContainer::setTag fix parameter naming

* autofy/constify where possible

* More const auto ptr magicifying

* Make SplitNode::Type an enum class

* Move QuickSwitcherPopup includes from header to source file

* Remove unused DropRegion code

* use empty() instead of size() == 0

* Add curly braces everywhere

* Remove useless reinterpret_cast

It was casting Node* to Node*

* Clarify that the connect is QObject::connect

* SplitContainer::setSelected fix parameter naming

* Rename function variables to remove unneccesary underscore

Also move addSpacing parameter out of the layout function

* emplace_back where possible

* Name parameters

* Remove ineffective const from return type

* Make node getters const

* Flatten Node::releaseSplit

* Rename in-function variable to match code style

* [ACTUAL CODE CHANGE/MOVE] Move clamp logic to its own function

* name params

* applyFromDescriptorRecursively: rename node param to baseNode

* [ACTUAL CODE CHANGE/MOVE] Remove the many overloads for append/insertSplit

This utilizes the C++20 designed initializers aggregate initialization feature

* Remove unused includes

* [ACTUAL CODE CHANGE] Clean up dragging logic

There's no need to keep a pointer around to which split is being
dragged, it's already stored in the QDropEvent source()

* UNRELATED .clang-tidy: Only suggest UPPER_CASE for constant global variables

* Remove unused SplitContainer::getSplitCount function

* Use std::max in Node's clamp function

* Remove test code

* DraggedSplit.hpp: remove unused include

* Split `setDraggingSplit` into two functions, `startDraggingSplit` and `stopDraggingSplit`
2022-12-25 11:09:25 +00:00
nerix
86e71c8bd9
Migrate to C++ 20 & switch to websocketpp develop branch (#4252)
* feat: c++ 20

* fix: c++ 20 deprecations

* fix(msvc): warnings

* chore: add changelog entry

* fix: formatting

* Update websocketpp to the `develop` branch

* Specify other template type in FlagsEnum != operator

* Remove the user of simple template ids in our websocketpp template class

Also standardizes the file a bit by using nested namespaces, using
pragma once

* fix: turn `MAGIC_MESSAGE_SUFFIX` into a `QString`

* hacky unhacky hacky const char hack

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-24 11:56:11 +00:00
pajlada
032f290767
Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
Daniel Sage
1741ac7482
Improve look of tabs when using a layout other than top (#3925) 2022-11-08 22:46:43 +01:00
Mm2PL
e604a36777
Make menus and placeholders display appropriate custom key combos. (#4045)
* Add initial support for finding hotkey display key sequences

* Make neededArguments work

* Implement displaying key combos in SplitHeader main menu

* Make Settings search text dynamic

* Make tab hide notice use a custom hotkeys key sequence

* Make Notebook menus use custom hotkeys key combo lookup for hiding tabs

* shut up changelog ci

* Make NotebookTab menus show custom hotkeys. SCUFFED:
this does not update dynamically!

* Scuffed: Make the show prefs button setting show the key bind

* Scuffed: Make the R9K description refer to hotkeys

* @pajlada, is something like this ok?

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-09 17:20:44 +02:00
Infinitay
554313d645
Add the ability to lock NotebookTab layout (#3627)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-03-26 14:16:45 +01:00
Tal Neoran
d8aa232df9
Add keybindings to tab context menu items (#3265)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-10-09 16:09:11 +00:00
Tal Neoran
ad4a0c28d1
Add opening tab in popup (#3082)
Co-authored-by: zneix <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-08-21 12:16:00 +00:00
Paweł
57354283ec
Added ability to toggle visibility of tabs (#2600)
This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U).

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-30 11:39:34 +00:00
pajlada
2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02:00
Paweł
f7506d495f
Refactored Rename Tab dialog and its context menu (#2713)
* Added placeholder to tab rename dialog's input

* Always set placeholder to default tab name.

* Renamed context menu entries, updated popup

* Removed TextInputDialog class, slight popup fix

* Forgot to rename variable (no fun allowed 😥)

* forsenT

* Made use of QDialogButtonBox

* Added changelog entry
2021-05-02 12:59:14 +02:00
Paweł
9c41adca2e
Fixed deprecated method QWheelEvent::delta (#2647)
Reference: https://doc.qt.io/qt-5/qwheelevent-obsolete.html#delta and https://doc.qt.io/qt-5/qwheelevent-obsolete.html#orientation

Changes in behavior introduced in this commit

Change from `event->delta()` to `event->angleDelta().y()` makes it, so you can no longer scroll horizontally (with trackpad / touchpad) to select next/previous tab (until now, you were able to do it, but I believe this is wrong anyways).

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-26 21:38:16 +02:00
Paweł
0e99527e8c
Fixed deprecated method QFontMetrics::width (#2509)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 14:47:02 +01:00
pajlada
ddcad4607c
Don't pollute global namespace with boost bind placeholders (#2272) 2020-12-13 13:18:12 +01:00
Leon Richardt
0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
fourtf
b2dab3cf21 xd 2020-08-13 20:59:57 +02:00
Daniel
0e6ca6b097
Vertical tabs (#1815)
* Vertical tabs

* Vertical tab wrapping

* Fix formatting

* Cleanup code

* Updated changelog

* Hide button row if no buttons exist

* Fix tab width expansion

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 15:43:08 +02:00
fourtf
6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
pajlada
3c8992cac1
Remove FMT dependency (#1472)
All occurrences of log() have been replaced with qDebug()

bonus meme: remove a bunch of std::string usages in the pubsub client

Fixes #1467
2020-01-03 20:51:37 +01:00
23rd
d99102cd23 Fixed closing tab with middle button when tab management is not allowed. (#1426) 2019-12-01 02:00:06 -08:00
fourtf
9f52564b9c fixes tab and split header title text size 2019-10-06 21:31:59 +02:00
fourtf
9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
Rasmus Karlsson
cd5972522b reformat 2019-08-11 21:08:18 +02:00
23rd
fdb0b62dee Fixed switching tabs using trackpad scroll. 2019-08-10 13:34:59 +02:00
23rd
efec76df5b Removed unused local vars. Slightly refactored code. 2019-05-10 22:18:05 +02:00
fourtf
52dcc2130e moved more stuff into appbase 2018-11-25 21:14:42 +01:00
fourtf
cf26f10b80 initial appbase integration 2018-11-21 21:37:41 +01:00
Rasmus Karlsson
ac4a496a06 Update to latest settings library version 2018-11-03 13:00:07 +01:00
fourtf
2faf24e3d5 improved rendering of notebook tab with scaling 2018-11-01 10:16:55 +01:00
fourtf
3c3be99177 new settings page 2018-10-31 19:49:15 +01:00
apa420
7467e1d0e2 Properly displays mentions in splitheader-tabs even if 'enable highlighting on new message' is disabled 2018-10-27 10:54:27 +02:00
fourtf
25aab4cdeb rename tab on double click 2018-10-22 19:57:02 +02:00
fourtf
e259b9e39f added brace wrapping after if and for 2018-10-21 13:43:02 +02:00
Rasmus Karlsson
1fde45f59b Also resize tabs if height has changed
Fixes #769
2018-10-21 12:14:11 +02:00
fourtf
69e0352648 improved NotebookTab 2018-10-21 12:13:23 +02:00