refactor CaptureButton and use CSS for side panel button

This commit is contained in:
Alex P
2020-09-13 22:29:47 +03:00
committed by borgmanJeremy
parent 3514345b68
commit fa9ec7adba
21 changed files with 412 additions and 324 deletions

View File

@@ -26,10 +26,10 @@ ConfigHandler::ConfigHandler()
m_settings.setDefaultFormat(QSettings::IniFormat);
}
QVector<CaptureButton::ButtonType>
QVector<CaptureToolButton::ButtonType>
ConfigHandler::getButtons()
{
QVector<CaptureButton::ButtonType> buttons;
QVector<CaptureToolButton::ButtonType> buttons;
if (m_settings.contains(QStringLiteral("buttons"))) {
// TODO: remove toList in v1.0
QVector<int> buttonsInt = m_settings.value(QStringLiteral("buttons"))
@@ -43,29 +43,33 @@ ConfigHandler::getButtons()
buttons = fromIntToButton(buttonsInt);
} else {
// Default tools
buttons << CaptureButton::TYPE_PENCIL << CaptureButton::TYPE_DRAWER
<< CaptureButton::TYPE_ARROW << CaptureButton::TYPE_SELECTION
<< CaptureButton::TYPE_RECTANGLE << CaptureButton::TYPE_CIRCLE
<< CaptureButton::TYPE_MARKER << CaptureButton::TYPE_PIXELATE
<< CaptureButton::TYPE_SELECTIONINDICATOR
<< CaptureButton::TYPE_MOVESELECTION << CaptureButton::TYPE_UNDO
<< CaptureButton::TYPE_REDO << CaptureButton::TYPE_COPY
<< CaptureButton::TYPE_SAVE << CaptureButton::TYPE_EXIT
<< CaptureButton::TYPE_IMAGEUPLOADER << CaptureButton::TYPE_OPEN_APP
<< CaptureButton::TYPE_PIN << CaptureButton::TYPE_TEXT
<< CaptureButton::TYPE_CIRCLECOUNT;
buttons << CaptureToolButton::TYPE_PENCIL << CaptureToolButton::TYPE_DRAWER
<< CaptureToolButton::TYPE_ARROW
<< CaptureToolButton::TYPE_SELECTION
<< CaptureToolButton::TYPE_RECTANGLE
<< CaptureToolButton::TYPE_CIRCLE << CaptureToolButton::TYPE_MARKER
<< CaptureToolButton::TYPE_PIXELATE
<< CaptureToolButton::TYPE_SELECTIONINDICATOR
<< CaptureToolButton::TYPE_MOVESELECTION
<< CaptureToolButton::TYPE_UNDO << CaptureToolButton::TYPE_REDO
<< CaptureToolButton::TYPE_COPY << CaptureToolButton::TYPE_SAVE
<< CaptureToolButton::TYPE_EXIT
<< CaptureToolButton::TYPE_IMAGEUPLOADER
<< CaptureToolButton::TYPE_OPEN_APP << CaptureToolButton::TYPE_PIN
<< CaptureToolButton::TYPE_TEXT
<< CaptureToolButton::TYPE_CIRCLECOUNT;
}
using bt = CaptureButton::ButtonType;
using bt = CaptureToolButton::ButtonType;
std::sort(buttons.begin(), buttons.end(), [](bt a, bt b) {
return CaptureButton::getPriorityByButton(a) <
CaptureButton::getPriorityByButton(b);
return CaptureToolButton::getPriorityByButton(a) <
CaptureToolButton::getPriorityByButton(b);
});
return buttons;
}
void
ConfigHandler::setButtons(const QVector<CaptureButton::ButtonType>& buttons)
ConfigHandler::setButtons(const QVector<CaptureToolButton::ButtonType>& buttons)
{
QVector<int> l = fromButtonToInt(buttons);
normalizeButtons(l);
@@ -438,8 +442,8 @@ void
ConfigHandler::setAllTheButtons()
{
QVector<int> buttons;
auto listTypes = CaptureButton::getIterableButtonTypes();
for (const CaptureButton::ButtonType t : listTypes) {
auto listTypes = CaptureToolButton::getIterableButtonTypes();
for (const CaptureToolButton::ButtonType t : listTypes) {
buttons << static_cast<int>(t);
}
// TODO: remove toList in v1.0
@@ -456,7 +460,7 @@ ConfigHandler::configFilePath() const
bool
ConfigHandler::normalizeButtons(QVector<int>& buttons)
{
auto listTypes = CaptureButton::getIterableButtonTypes();
auto listTypes = CaptureToolButton::getIterableButtonTypes();
QVector<int> listTypesInt;
for (auto i : listTypes)
listTypesInt << static_cast<int>(i);
@@ -471,17 +475,17 @@ ConfigHandler::normalizeButtons(QVector<int>& buttons)
return hasChanged;
}
QVector<CaptureButton::ButtonType>
QVector<CaptureToolButton::ButtonType>
ConfigHandler::fromIntToButton(const QVector<int>& l)
{
QVector<CaptureButton::ButtonType> buttons;
QVector<CaptureToolButton::ButtonType> buttons;
for (auto const i : l)
buttons << static_cast<CaptureButton::ButtonType>(i);
buttons << static_cast<CaptureToolButton::ButtonType>(i);
return buttons;
}
QVector<int>
ConfigHandler::fromButtonToInt(const QVector<CaptureButton::ButtonType>& l)
ConfigHandler::fromButtonToInt(const QVector<CaptureToolButton::ButtonType>& l)
{
QVector<int> buttons;
for (auto const i : l)