mirror of
https://github.com/AxioDL/amuse.git
synced 2025-12-09 05:27:57 +00:00
New code style refactor
This commit is contained in:
@@ -4,105 +4,93 @@
|
||||
#include <QObject>
|
||||
#include <QProcess>
|
||||
|
||||
boo::SystemString QStringToSysString(const QString& str)
|
||||
{
|
||||
boo::SystemString QStringToSysString(const QString& str) {
|
||||
#ifdef _WIN32
|
||||
return (wchar_t*)str.utf16();
|
||||
return (wchar_t*)str.utf16();
|
||||
#else
|
||||
return str.toUtf8().toStdString();
|
||||
return str.toUtf8().toStdString();
|
||||
#endif
|
||||
}
|
||||
|
||||
QString SysStringToQString(const boo::SystemString& str)
|
||||
{
|
||||
QString SysStringToQString(const boo::SystemString& str) {
|
||||
#ifdef _WIN32
|
||||
return QString::fromStdWString(str);
|
||||
return QString::fromStdWString(str);
|
||||
#else
|
||||
return QString::fromStdString(str);
|
||||
return QString::fromStdString(str);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool MkPath(const QString& path, UIMessenger& messenger)
|
||||
{
|
||||
QFileInfo fInfo(path);
|
||||
return MkPath(fInfo.dir(), fInfo.fileName(), messenger);
|
||||
bool MkPath(const QString& path, UIMessenger& messenger) {
|
||||
QFileInfo fInfo(path);
|
||||
return MkPath(fInfo.dir(), fInfo.fileName(), messenger);
|
||||
}
|
||||
|
||||
bool MkPath(const QDir& dir, const QString& file, UIMessenger& messenger)
|
||||
{
|
||||
if (!dir.mkpath(file))
|
||||
{
|
||||
QString msg = QString(MainWindow::tr("A directory at '%1/%2' could not be created.")).arg(dir.path()).arg(file);
|
||||
messenger.critical(MainWindow::tr("Unable to create directory"), msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
bool MkPath(const QDir& dir, const QString& file, UIMessenger& messenger) {
|
||||
if (!dir.mkpath(file)) {
|
||||
QString msg = QString(MainWindow::tr("A directory at '%1/%2' could not be created.")).arg(dir.path()).arg(file);
|
||||
messenger.critical(MainWindow::tr("Unable to create directory"), msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void ShowInGraphicalShell(QWidget* parent, const QString& pathIn)
|
||||
{
|
||||
const QFileInfo fileInfo(pathIn);
|
||||
// Mac, Windows support folder or file.
|
||||
void ShowInGraphicalShell(QWidget* parent, const QString& pathIn) {
|
||||
const QFileInfo fileInfo(pathIn);
|
||||
// Mac, Windows support folder or file.
|
||||
#if defined(Q_OS_WIN)
|
||||
QString paths = QProcessEnvironment::systemEnvironment().value(QStringLiteral("Path"));
|
||||
QString explorer;
|
||||
for (QString path : paths.split(QStringLiteral(";")))
|
||||
{
|
||||
QFileInfo finfo(QDir(path), QStringLiteral("explorer.exe"));
|
||||
if (finfo.exists())
|
||||
{
|
||||
explorer = finfo.filePath();
|
||||
break;
|
||||
}
|
||||
QString paths = QProcessEnvironment::systemEnvironment().value(QStringLiteral("Path"));
|
||||
QString explorer;
|
||||
for (QString path : paths.split(QStringLiteral(";"))) {
|
||||
QFileInfo finfo(QDir(path), QStringLiteral("explorer.exe"));
|
||||
if (finfo.exists()) {
|
||||
explorer = finfo.filePath();
|
||||
break;
|
||||
}
|
||||
if (explorer.isEmpty()) {
|
||||
QMessageBox::warning(parent,
|
||||
MainWindow::tr("Launching Windows Explorer Failed"),
|
||||
MainWindow::tr("Could not find explorer.exe in path to launch Windows Explorer."));
|
||||
return;
|
||||
}
|
||||
QStringList param;
|
||||
if (!fileInfo.isDir())
|
||||
param += QLatin1String("/select,");
|
||||
param += QDir::toNativeSeparators(fileInfo.canonicalFilePath());
|
||||
QProcess::startDetached(explorer, param);
|
||||
}
|
||||
if (explorer.isEmpty()) {
|
||||
QMessageBox::warning(parent, MainWindow::tr("Launching Windows Explorer Failed"),
|
||||
MainWindow::tr("Could not find explorer.exe in path to launch Windows Explorer."));
|
||||
return;
|
||||
}
|
||||
QStringList param;
|
||||
if (!fileInfo.isDir())
|
||||
param += QLatin1String("/select,");
|
||||
param += QDir::toNativeSeparators(fileInfo.canonicalFilePath());
|
||||
QProcess::startDetached(explorer, param);
|
||||
#elif defined(Q_OS_MAC)
|
||||
QStringList scriptArgs;
|
||||
scriptArgs << QLatin1String("-e")
|
||||
<< QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"")
|
||||
.arg(fileInfo.canonicalFilePath());
|
||||
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
|
||||
scriptArgs.clear();
|
||||
scriptArgs << QLatin1String("-e")
|
||||
<< QLatin1String("tell application \"Finder\" to activate");
|
||||
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
|
||||
QStringList scriptArgs;
|
||||
scriptArgs << QLatin1String("-e")
|
||||
<< QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"")
|
||||
.arg(fileInfo.canonicalFilePath());
|
||||
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
|
||||
scriptArgs.clear();
|
||||
scriptArgs << QLatin1String("-e") << QLatin1String("tell application \"Finder\" to activate");
|
||||
QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
|
||||
#else
|
||||
// we cannot select a file here, because no file browser really supports it...
|
||||
const QString folder = fileInfo.isDir() ? fileInfo.absoluteFilePath() : fileInfo.filePath();
|
||||
QProcess browserProc;
|
||||
const QString browserArgs = QStringLiteral("xdg-open \"%1\"").arg(QFileInfo(folder).path());
|
||||
browserProc.startDetached(browserArgs);
|
||||
// we cannot select a file here, because no file browser really supports it...
|
||||
const QString folder = fileInfo.isDir() ? fileInfo.absoluteFilePath() : fileInfo.filePath();
|
||||
QProcess browserProc;
|
||||
const QString browserArgs = QStringLiteral("xdg-open \"%1\"").arg(QFileInfo(folder).path());
|
||||
browserProc.startDetached(browserArgs);
|
||||
#endif
|
||||
}
|
||||
|
||||
QString ShowInGraphicalShellString()
|
||||
{
|
||||
QString ShowInGraphicalShellString() {
|
||||
#if defined(Q_OS_WIN)
|
||||
return MainWindow::tr("Show in Explorer");
|
||||
return MainWindow::tr("Show in Explorer");
|
||||
#elif defined(Q_OS_MAC)
|
||||
return MainWindow::tr("Show in Finder");
|
||||
return MainWindow::tr("Show in Finder");
|
||||
#else
|
||||
return MainWindow::tr("Show in Browser");
|
||||
return MainWindow::tr("Show in Browser");
|
||||
#endif
|
||||
}
|
||||
|
||||
QTransform RectToRect(const QRectF& from, const QRectF& to)
|
||||
{
|
||||
QPolygonF orig(from);
|
||||
orig.pop_back();
|
||||
QPolygonF resize(to);
|
||||
resize.pop_back();
|
||||
QTransform ret;
|
||||
QTransform::quadToQuad(orig, resize, ret);
|
||||
return ret;
|
||||
QTransform RectToRect(const QRectF& from, const QRectF& to) {
|
||||
QPolygonF orig(from);
|
||||
orig.pop_back();
|
||||
QPolygonF resize(to);
|
||||
resize.pop_back();
|
||||
QTransform ret;
|
||||
QTransform::quadToQuad(orig, resize, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user