// Copyright(c) 2017-2018 Alejandro Sirgo Rica & Contributors
//
// This file is part of Flameshot.
//
// Flameshot is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Flameshot is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Flameshot. If not, see .
#include "strftimechooserwidget.h"
#include
#include
#include
StrftimeChooserWidget::StrftimeChooserWidget(QWidget *parent) : QWidget(parent) {
QGridLayout *layout = new QGridLayout(this);
auto k = m_buttonData.keys();
int middle = k.length()/2;
// add the buttons in 2 columns (they need to be even)
for (int i = 0; i < 2; i++) {
for (int j = 0; j < middle; j++) {
QString key = k.last();
k.pop_back();
QString variable = m_buttonData.value(key);
QPushButton *button = new QPushButton(this);
button->setText(tr(key.toStdString().data()));
button->setToolTip(variable);
button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
button->setMinimumHeight(25);
layout->addWidget(button, j, i);
connect(button, &QPushButton::clicked,
this, [variable, this](){emit variableEmitted(variable);});
}
}
setLayout(layout);
}
QMap StrftimeChooserWidget::m_buttonData {
{ QT_TR_NOOP("Century (00-99)"), "%C"},
{ QT_TR_NOOP("Year (00-99)"), "%y"},
{ QT_TR_NOOP("Year (2000)"), "%Y"},
{ QT_TR_NOOP("Month Name (jan)"), "%b"},
{ QT_TR_NOOP("Month Name (january)"), "%B"},
{ QT_TR_NOOP("Month (01-12)"), "%m"},
{ QT_TR_NOOP("Week Day (1-7)"), "%u"},
{ QT_TR_NOOP("Week (01-53)"), "%V"},
{ QT_TR_NOOP("Day Name (mon)"), "%a"},
{ QT_TR_NOOP("Day Name (monday)"), "%A"},
{ QT_TR_NOOP("Day (01-31)"), "%d"},
{ QT_TR_NOOP("Day of Month (1-31)"), "%e"},
{ QT_TR_NOOP("Day (001-366)"), "%j"},
{ QT_TR_NOOP("Time (%H-%M-%S)"), "%T"},
{ QT_TR_NOOP("Time (%H-%M)"), "%R"},
{ QT_TR_NOOP("Hour (00-23)"), "%H"},
{ QT_TR_NOOP("Hour (01-12)"), "%I"},
{ QT_TR_NOOP("Minute (00-59)"), "%M"},
{ QT_TR_NOOP("Second (00-59)"), "%S"},
{ QT_TR_NOOP("Full Date (%m/%d/%y)"), "%D"},
{ QT_TR_NOOP("Full Date (%Y-%m-%d)"), "%F"},
};