Updated lib_ui sources to TDesktop version 3.3
This commit is contained in:
commit
c6b55d9c37
15 changed files with 56 additions and 22 deletions
|
|
@ -34,7 +34,6 @@ PRIVATE
|
|||
ui/colors.palette
|
||||
emoji_suggestions/emoji_autocomplete.json
|
||||
|
||||
qt_conf/mac.qrc
|
||||
qt_conf/win.qrc
|
||||
|
||||
ui/effects/animation_value.cpp
|
||||
|
|
@ -245,8 +244,6 @@ PRIVATE
|
|||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
nice_target_sources(lib_ui ${src_loc} PRIVATE ui/text/qtextitemint.cpp)
|
||||
else()
|
||||
nice_target_sources(lib_ui ${src_loc} PRIVATE qt_conf/linux.qrc)
|
||||
endif()
|
||||
|
||||
if (NOT DESKTOP_APP_USE_PACKAGED_FONTS)
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
<RCC>
|
||||
<qresource prefix="/qt/etc">
|
||||
<file alias="qt.conf">qt_linux.conf</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
<RCC>
|
||||
</RCC>
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[Paths]
|
||||
Libraries=:/gui/art
|
||||
|
|
@ -19,7 +19,11 @@
|
|||
|
||||
QString TextClickHandler::readable() const {
|
||||
const auto result = url();
|
||||
return result.startsWith(qstr("internal:")) ? QString() : result;
|
||||
return !result.startsWith(qstr("internal:"))
|
||||
? result
|
||||
: result.startsWith(qstr("internal:url:"))
|
||||
? result.mid(qstr("internal:url:").size())
|
||||
: QString();
|
||||
}
|
||||
|
||||
UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed)
|
||||
|
|
@ -33,6 +37,13 @@ UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed)
|
|||
? original.toEncoded()
|
||||
: QString());
|
||||
_readable = good.isValid() ? good.toDisplayString() : _originalUrl;
|
||||
} else if (_originalUrl.startsWith(qstr("internal:url:"))) {
|
||||
const auto external = _originalUrl.mid(qstr("internal:url:").size());
|
||||
const auto original = QUrl(external);
|
||||
const auto good = QUrl(original.isValid()
|
||||
? original.toEncoded()
|
||||
: QString());
|
||||
_readable = good.isValid() ? good.toDisplayString() : external;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -154,6 +154,16 @@ auto ClickHandler::getTextEntity() const -> TextEntity {
|
|||
return { EntityType::Invalid };
|
||||
}
|
||||
|
||||
void ClickHandler::setProperty(int id, QVariant value) {
|
||||
_properties[id] = std::move(value);
|
||||
}
|
||||
|
||||
const QVariant &ClickHandler::property(int id) const {
|
||||
static const QVariant kEmpty;
|
||||
const auto i = _properties.find(id);
|
||||
return (i != end(_properties)) ? i->second : kEmpty;
|
||||
}
|
||||
|
||||
void ActivateClickHandler(
|
||||
not_null<QWidget*> guard,
|
||||
ClickHandlerPtr handler,
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "base/basic_types.h"
|
||||
#include "base/flat_map.h"
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
|
||||
|
|
@ -62,6 +63,9 @@ public:
|
|||
};
|
||||
virtual TextEntity getTextEntity() const;
|
||||
|
||||
void setProperty(int id, QVariant value);
|
||||
[[nodiscard]] const QVariant &property(int id) const;
|
||||
|
||||
// This method should be called on mouse over a click handler.
|
||||
// It returns true if the active handler was changed or false otherwise.
|
||||
static bool setActive(const ClickHandlerPtr &p, ClickHandlerHost *host = nullptr);
|
||||
|
|
@ -88,6 +92,8 @@ private:
|
|||
static ClickHandlerHost *_activeHost;
|
||||
static ClickHandlerHost *_pressedHost;
|
||||
|
||||
base::flat_map<int, QVariant> _properties;
|
||||
|
||||
};
|
||||
|
||||
class LeftButtonClickHandler : public ClickHandler {
|
||||
|
|
|
|||
|
|
@ -137,6 +137,9 @@ boxTitleAdditionalFg: #808080; // box title additional text (like in create grou
|
|||
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
|
||||
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
|
||||
|
||||
boxDividerBg: windowBgOver; // gray divider in boxes and layers
|
||||
boxDividerFg: windowShadowFg; // gray divider shadow in boxes and layers
|
||||
|
||||
paymentsTipActive: #01ad0f; // tip button text in payments checkout form
|
||||
|
||||
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
|
||||
|
|
|
|||
|
|
@ -160,6 +160,15 @@ public:
|
|||
std::move(clickCallback),
|
||||
st);
|
||||
}
|
||||
QPointer<RoundButton> addLeftButton(
|
||||
rpl::producer<QString> text,
|
||||
Fn<void()> clickCallback,
|
||||
const style::RoundButton& st) {
|
||||
return getDelegate()->addLeftButton(
|
||||
std::move(text),
|
||||
std::move(clickCallback),
|
||||
st);
|
||||
}
|
||||
void showLoading(bool show) {
|
||||
getDelegate()->showLoading(show);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,8 +154,6 @@ boxLoadingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|||
}
|
||||
boxLoadingSize: 20px;
|
||||
|
||||
boxDividerBg: windowBgOver;
|
||||
boxDividerFg: windowShadowFg;
|
||||
boxDividerTop: icon {{ "box_divider_top", boxDividerFg }};
|
||||
boxDividerBottom: icon {{ "box_divider_bottom", boxDividerFg }};
|
||||
boxDividerHeight: 10px;
|
||||
|
|
|
|||
|
|
@ -30,9 +30,7 @@ void style_InitFontsResource() {
|
|||
#endif // !DESKTOP_APP_USE_PACKAGED_FONTS
|
||||
#ifdef Q_OS_WIN
|
||||
Q_INIT_RESOURCE(win);
|
||||
#elif defined Q_OS_UNIX && !defined DESKTOP_APP_USE_PACKAGED // Q_OS_WIN
|
||||
Q_INIT_RESOURCE(linux);
|
||||
#endif // Q_OS_WIN || (Q_OS_UNIX && !DESKTOP_APP_USE_PACKAGED)
|
||||
#endif // Q_OS_WIN
|
||||
|
||||
#endif // Q_OS_MAC
|
||||
}
|
||||
|
|
@ -341,8 +339,6 @@ FontData::FontData(int size, uint32 flags, int family, Font *other)
|
|||
, _family(family) {
|
||||
if (other) {
|
||||
memcpy(modified, other, sizeof(modified));
|
||||
} else {
|
||||
memset(modified, 0, sizeof(modified));
|
||||
}
|
||||
modified[_flags] = Font(this);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ int registerFontFamily(const QString &family);
|
|||
class FontData;
|
||||
class Font {
|
||||
public:
|
||||
Font(Qt::Initialization = Qt::Uninitialized) : ptr(0) {
|
||||
Font(Qt::Initialization = Qt::Uninitialized) {
|
||||
}
|
||||
Font(int size, uint32 flags, const QString &family);
|
||||
Font(int size, uint32 flags, int family);
|
||||
|
|
@ -44,7 +44,7 @@ public:
|
|||
operator const QFont &() const;
|
||||
|
||||
private:
|
||||
FontData *ptr;
|
||||
FontData *ptr = nullptr;
|
||||
|
||||
void init(int size, uint32 flags, int family, Font *modified);
|
||||
friend void startManager();
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "ui/widgets/box_content_divider.h"
|
||||
|
||||
#include "styles/style_layers.h"
|
||||
#include "styles/palette.h"
|
||||
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QtEvents>
|
||||
|
|
|
|||
|
|
@ -192,4 +192,12 @@ void Action::handleKeyPress(not_null<QKeyEvent*> e) {
|
|||
}
|
||||
}
|
||||
|
||||
void Action::setIcon(
|
||||
const style::icon *icon,
|
||||
const style::icon *iconOver) {
|
||||
_icon = icon;
|
||||
_iconOver = iconOver ? iconOver : icon;
|
||||
update();
|
||||
}
|
||||
|
||||
} // namespace Ui::Menu
|
||||
|
|
|
|||
|
|
@ -28,6 +28,10 @@ public:
|
|||
|
||||
void handleKeyPress(not_null<QKeyEvent*> e) override;
|
||||
|
||||
void setIcon(
|
||||
const style::icon *icon,
|
||||
const style::icon *iconOver = nullptr);
|
||||
|
||||
protected:
|
||||
QPoint prepareRippleStartPosition() const override;
|
||||
QImage prepareRippleMask() const override;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue