Commit Graph

90 Commits

Author SHA1 Message Date
pajlada 8acca1c241 fix: don't indent inner namespaces (#6235) 2025-05-25 12:28:14 +02:00
nerix 84c0b39fde refactor: buttons and friends (#6102) 2025-05-25 11:17:06 +02:00
nerix b78e1ed0a7 refactor: floatify messages (#6231) 2025-05-24 09:40:11 +00:00
nerix 01e7050ffc chore: bump deprecated cutoff to Qt 6.4.3 (#6169) 2025-04-26 13:36:09 +02:00
James Upjohn 462e2ba658 feat: disable tab renaming on double-click via setting (#6163)
Fixes #6156
2025-04-20 11:19:40 +02:00
pajlada 1d8a00e892 fix: split drag & drop on KDE Plasma (#6147) 2025-04-13 12:15:49 +00:00
apa420 59e93d41d3 feat: Add tab style option (Normal & Combat) (#5858) 2025-03-11 16:16:33 +01:00
hemirt db8047ea7b highlight tabs only on unviewed messages (#5649) 2024-11-02 13:21:56 +00:00
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