mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 22:09:52 +08:00
bug-fix: fix heading toolbar button
This commit is contained in:
parent
9f0963eace
commit
d49433f91d
@ -49,7 +49,7 @@ QMenu::icon {
|
|||||||
|
|
||||||
QMenu::item {
|
QMenu::item {
|
||||||
padding: 5px 30px 5px 30px;
|
padding: 5px 30px 5px 30px;
|
||||||
background: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
QMenu::item:selected {
|
QMenu::item:selected {
|
||||||
@ -250,6 +250,47 @@ QPushButton[DangerBtn="true"]:hover {
|
|||||||
border-color: @pushbutton_dangerbtn_hover_border;
|
border-color: @pushbutton_dangerbtn_hover_border;
|
||||||
background-color: @pushbutton_dangerbtn_hover_bg;
|
background-color: @pushbutton_dangerbtn_hover_bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem {
|
||||||
|
padding: 5px;
|
||||||
|
padding-right: 30px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
background-color: transparent;
|
||||||
|
min-width: -1;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading1="true"] {
|
||||||
|
font-size: 22pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading2="true"] {
|
||||||
|
font-size: 20pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading3="true"] {
|
||||||
|
font-size: 18pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading4="true"] {
|
||||||
|
font-size: 16pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading5="true"] {
|
||||||
|
font-size: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem[Heading6="true"] {
|
||||||
|
font-size: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem:hover {
|
||||||
|
background-color: @menubar_item_selected_bg;
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem:focus {
|
||||||
|
background-color: @menubar_item_selected_bg;
|
||||||
|
}
|
||||||
/* End QPushButton*/
|
/* End QPushButton*/
|
||||||
|
|
||||||
/* QComboBox */
|
/* QComboBox */
|
||||||
|
@ -99,7 +99,8 @@ SOURCES += main.cpp\
|
|||||||
vtoolbox.cpp \
|
vtoolbox.cpp \
|
||||||
vinsertselector.cpp \
|
vinsertselector.cpp \
|
||||||
utils/vclipboardutils.cpp \
|
utils/vclipboardutils.cpp \
|
||||||
vpalette.cpp
|
vpalette.cpp \
|
||||||
|
vbuttonmenuitem.cpp
|
||||||
|
|
||||||
HEADERS += vmainwindow.h \
|
HEADERS += vmainwindow.h \
|
||||||
vdirectorytree.h \
|
vdirectorytree.h \
|
||||||
@ -185,7 +186,8 @@ HEADERS += vmainwindow.h \
|
|||||||
vtoolbox.h \
|
vtoolbox.h \
|
||||||
vinsertselector.h \
|
vinsertselector.h \
|
||||||
utils/vclipboardutils.h \
|
utils/vclipboardutils.h \
|
||||||
vpalette.h
|
vpalette.h \
|
||||||
|
vbuttonmenuitem.h
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
vnote.qrc \
|
vnote.qrc \
|
||||||
|
21
src/vbuttonmenuitem.cpp
Normal file
21
src/vbuttonmenuitem.cpp
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include "vbuttonmenuitem.h"
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
|
|
||||||
|
VButtonMenuItem::VButtonMenuItem(QAction *p_action, QWidget *p_parent)
|
||||||
|
: QPushButton(p_parent), m_action(p_action)
|
||||||
|
{
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
VButtonMenuItem::VButtonMenuItem(QAction *p_action, const QString &p_text, QWidget *p_parent)
|
||||||
|
: QPushButton(p_text, p_parent), m_action(p_action)
|
||||||
|
{
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void VButtonMenuItem::init()
|
||||||
|
{
|
||||||
|
connect(this, &QPushButton::clicked,
|
||||||
|
m_action, &QAction::triggered);
|
||||||
|
}
|
23
src/vbuttonmenuitem.h
Normal file
23
src/vbuttonmenuitem.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#ifndef VBUTTONMENUITEM_H
|
||||||
|
#define VBUTTONMENUITEM_H
|
||||||
|
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
|
class QAction;
|
||||||
|
|
||||||
|
|
||||||
|
class VButtonMenuItem : public QPushButton
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit VButtonMenuItem(QAction *p_action, QWidget *p_parent = nullptr);
|
||||||
|
|
||||||
|
VButtonMenuItem(QAction *p_action, const QString &p_text, QWidget *p_parent = nullptr);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void init();
|
||||||
|
|
||||||
|
QAction *m_action;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // VBUTTONMENUITEM_H
|
@ -32,6 +32,7 @@
|
|||||||
#include "vfilesessioninfo.h"
|
#include "vfilesessioninfo.h"
|
||||||
#include "vsnippetlist.h"
|
#include "vsnippetlist.h"
|
||||||
#include "vtoolbox.h"
|
#include "vtoolbox.h"
|
||||||
|
#include "vbuttonmenuitem.h"
|
||||||
|
|
||||||
VMainWindow *g_mainWin;
|
VMainWindow *g_mainWin;
|
||||||
|
|
||||||
@ -2731,48 +2732,71 @@ void VMainWindow::initHeadingButton(QToolBar *p_tb)
|
|||||||
m_headingBtn->setEnabled(false);
|
m_headingBtn->setEnabled(false);
|
||||||
|
|
||||||
QMenu *menu = new QMenu(this);
|
QMenu *menu = new QMenu(this);
|
||||||
QAction *act = menu->addAction(tr("Heading 1\t%1").arg(VUtils::getShortcutText("Ctrl+1")));
|
QString text(tr("Heading %1"));
|
||||||
QFont font = act->font();
|
QString tooltip(tr("Heading %1\t%2"));
|
||||||
int ps = font.pointSize();
|
QWidgetAction *wact = new QWidgetAction(menu);
|
||||||
font.setBold(true);
|
wact->setData(1);
|
||||||
font.setPointSize(ps + 8);
|
VButtonMenuItem *w = new VButtonMenuItem(wact, text.arg(1), this);
|
||||||
act->setFont(font);
|
w->setToolTip(tooltip.arg(1).arg(VUtils::getShortcutText("Ctrl+1")));
|
||||||
act->setData(1);
|
w->setProperty("Heading1", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Heading 2\t%1").arg(VUtils::getShortcutText("Ctrl+2")));
|
wact = new QWidgetAction(menu);
|
||||||
font.setPointSize(ps + 6);
|
wact->setData(2);
|
||||||
act->setFont(font);
|
w = new VButtonMenuItem(wact, text.arg(2), this);
|
||||||
act->setData(2);
|
w->setToolTip(tooltip.arg(2).arg(VUtils::getShortcutText("Ctrl+2")));
|
||||||
|
w->setProperty("Heading2", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Heading 3\t%1").arg(VUtils::getShortcutText("Ctrl+3")));
|
wact = new QWidgetAction(menu);
|
||||||
font.setPointSize(ps + 4);
|
wact->setData(3);
|
||||||
act->setFont(font);
|
w = new VButtonMenuItem(wact, text.arg(3), this);
|
||||||
act->setData(3);
|
w->setToolTip(tooltip.arg(3).arg(VUtils::getShortcutText("Ctrl+3")));
|
||||||
|
w->setProperty("Heading3", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Heading 4\t%1").arg(VUtils::getShortcutText("Ctrl+4")));
|
wact = new QWidgetAction(menu);
|
||||||
font.setPointSize(ps + 2);
|
wact->setData(4);
|
||||||
act->setFont(font);
|
w = new VButtonMenuItem(wact, text.arg(4), this);
|
||||||
act->setData(4);
|
w->setToolTip(tooltip.arg(4).arg(VUtils::getShortcutText("Ctrl+4")));
|
||||||
|
w->setProperty("Heading4", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Heading 5\t%1").arg(VUtils::getShortcutText("Ctrl+5")));
|
wact = new QWidgetAction(menu);
|
||||||
font.setPointSize(ps + 2);
|
wact->setData(5);
|
||||||
act->setFont(font);
|
w = new VButtonMenuItem(wact, text.arg(5), this);
|
||||||
act->setData(5);
|
w->setToolTip(tooltip.arg(5).arg(VUtils::getShortcutText("Ctrl+5")));
|
||||||
|
w->setProperty("Heading5", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Heading 6\t%1").arg(VUtils::getShortcutText("Ctrl+6")));
|
wact = new QWidgetAction(menu);
|
||||||
font.setPointSize(ps + 2);
|
wact->setData(6);
|
||||||
act->setFont(font);
|
w = new VButtonMenuItem(wact, text.arg(6), this);
|
||||||
act->setData(6);
|
w->setToolTip(tooltip.arg(6).arg(VUtils::getShortcutText("Ctrl+6")));
|
||||||
|
w->setProperty("Heading6", true);
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
act = menu->addAction(tr("Clear\t%1").arg(VUtils::getShortcutText("Ctrl+7")));
|
wact = new QWidgetAction(menu);
|
||||||
act->setData(0);
|
wact->setData(0);
|
||||||
|
w = new VButtonMenuItem(wact, tr("Clear"), this);
|
||||||
|
w->setToolTip(tr("Clear\t%1").arg(VUtils::getShortcutText("Ctrl+7")));
|
||||||
|
wact->setDefaultWidget(w);
|
||||||
|
menu->addAction(wact);
|
||||||
|
|
||||||
connect(menu, &QMenu::triggered,
|
connect(menu, &QMenu::triggered,
|
||||||
this, [this](QAction *p_action) {
|
this, [this, menu](QAction *p_action) {
|
||||||
if (m_curTab) {
|
if (m_curTab) {
|
||||||
int level = p_action->data().toInt();
|
int level = p_action->data().toInt();
|
||||||
m_curTab->decorateText(TextDecoration::Heading, level);
|
m_curTab->decorateText(TextDecoration::Heading, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menu->hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
m_headingBtn->setMenu(menu);
|
m_headingBtn->setMenu(menu);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user