2 Star 0 Fork 5

fctx8688/sqliteStudio

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
uiutils.cpp 3.70 KB
一键复制 编辑 原始数据 按行查看 历史
shengzhe8688 提交于 2020-01-18 12:15 +08:00 . 首次上传
#include "uiutils.h"
#include "services/config.h"
#include "common/widgetstateindicator.h"
#include "common/utils.h"
#include <QObject>
#include <QCheckBox>
#include <QSpinBox>
#include <QLineEdit>
#include <QDateTimeEdit>
#include <QFileDialog>
#include <QStringList>
#include <QSet>
#include <QDebug>
#include <QPainter>
#include <QDesktopWidget>
#include <QApplication>
const QStringList pageSizes = {
"A4", "B5", "Letter", "Legal", "Executive", "A0", "A1", "A2", "A3", "A5", "A6", "A7", "A8", "A9", "B0", "B1",
"B10", "B2", "B3", "B4", "B6", "B7", "B8", "B9", "C5E", "Comm10E", "DLE", "Folio", "Ledger", "Tabloid", "Custom"
};
const QStringList pageSizesWithDimensions;
QString getDbPath(bool newFileMode, const QString &startWith)
{
QString dir = startWith;
if (dir.isNull())
dir = CFG->get("dialogCache", "lastDbDir").toString();
QStringList filters;
filters += QObject::tr("All SQLite databases")+" (*.db *.sdb *.sqlite *.db3 *.s3db *.sqlite3 *.sl3 *.db2 *.s2db *.sqlite2 *.sl2)";
filters += "SQLite3 (*.db3 *.s3db *.sqlite3 *.sl3)";
filters += "SQLite2 (*.db2 *.s2db *.sqlite2 *.sl2)";
filters += QObject::tr("All files")+" (*)";
QString filter = filters.join(";;");
if (newFileMode)
return QFileDialog::getSaveFileName(0, QObject::tr("Database file"), dir, filter, &filters[0], QFileDialog::DontConfirmOverwrite);
else
return QFileDialog::getOpenFileName(0, QObject::tr("Database file"), dir, filter, &filters[0]);
}
void setValidState(QWidget *widget, bool valid, const QString& message)
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::ERROR);
INDICATOR(widget)->setVisible(!valid, valid ? QString() : message);
}
void setValidStateWihtTooltip(QWidget* widget, const QString& tooltip, bool valid, const QString& message)
{
if (!valid)
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::ERROR);
INDICATOR(widget)->setVisible(true, message);
}
else
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::HINT);
INDICATOR(widget)->setVisible(widget->isEnabled(), tooltip);
}
}
void setValidStateWarning(QWidget* widget, const QString& warning)
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::WARNING);
INDICATOR(widget)->setVisible(widget->isEnabled(), warning);
}
void setValidStateInfo(QWidget* widget, const QString& info)
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::INFO);
INDICATOR(widget)->setVisible(widget->isEnabled(), info);
}
void setValidStateTooltip(QWidget* widget, const QString& tip)
{
INDICATOR(widget)->setMode(WidgetStateIndicator::Mode::HINT);
INDICATOR(widget)->setVisible(widget->isEnabled(), tip);
}
QString convertPageSize(QPagedPaintDevice::PageSize size)
{
const int pageSizesSize = pageSizes.size();
int idx = static_cast<int>(size);
if (idx < 0 || idx >= pageSizesSize)
{
qDebug() << "Asked to convertPageSize() with page side enum value out of range:" << idx;
return QString::null;
}
return pageSizes[idx];
}
QPagedPaintDevice::PageSize convertPageSize(const QString& size)
{
return static_cast<QPagedPaintDevice::PageSize>(indexOf(pageSizes, size, Qt::CaseInsensitive));
}
const QStringList& getAllPageSizes()
{
return pageSizes;
}
QPixmap addOpacity(const QPixmap& input, float opacity)
{
QPixmap output(input.size());
output.fill(Qt::transparent);
QPainter p(&output);
p.setOpacity(opacity);
p.drawPixmap(0, 0, input);
p.end();
return output;
}
void limitDialogWidth(QDialog* dialog)
{
dialog->setMaximumWidth(QApplication::desktop()->availableGeometry().width());
}
void fixTextCursorSelectedText(QString& text)
{
text.replace("\u2029", "\n");
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/fctx8688/sqliteStudio.git
git@gitee.com:fctx8688/sqliteStudio.git
fctx8688
sqliteStudio
sqliteStudio
master

搜索帮助