mirror of
https://github.com/ModOrganizer2/modorganizer-tool_inieditor.git
synced 2026-07-27 14:01:14 -07:00
Add pre-commit hook. (#15)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
---
|
||||
# We'll use defaults from the LLVM style, but with 4 columns indentation.
|
||||
BasedOnStyle: LLVM
|
||||
IndentWidth: 2
|
||||
---
|
||||
Language: Cpp
|
||||
DeriveLineEnding: false
|
||||
UseCRLF: true
|
||||
DerivePointerAlignment: false
|
||||
PointerAlignment: Left
|
||||
AlignConsecutiveAssignments: true
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLambdasOnASingleLine: Empty
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
AccessModifierOffset: -2
|
||||
AlignTrailingComments: true
|
||||
SpacesBeforeTrailingComments: 2
|
||||
NamespaceIndentation: Inner
|
||||
MaxEmptyLinesToKeep: 1
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: true
|
||||
AfterControlStatement: false
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
AfterExternBlock: true
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: false
|
||||
SplitEmptyRecord: false
|
||||
SplitEmptyNamespace: true
|
||||
ColumnLimit: 88
|
||||
ForEachMacros: ['Q_FOREACH', 'foreach']
|
||||
@@ -0,0 +1,7 @@
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files you want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.cpp text eol=crlf
|
||||
*.h text eol=crlf
|
||||
@@ -0,0 +1,20 @@
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v5.0.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-merge-conflict
|
||||
- id: check-case-conflict
|
||||
- repo: https://github.com/pre-commit/mirrors-clang-format
|
||||
rev: v19.1.5
|
||||
hooks:
|
||||
- id: clang-format
|
||||
'types_or': [c++, c]
|
||||
|
||||
ci:
|
||||
autofix_commit_msg: "[pre-commit.ci] Auto fixes from pre-commit.com hooks."
|
||||
autofix_prs: true
|
||||
autoupdate_commit_msg: "[pre-commit.ci] Pre-commit autoupdate."
|
||||
autoupdate_schedule: quarterly
|
||||
submodules: false
|
||||
+146
-142
@@ -1,142 +1,146 @@
|
||||
/*
|
||||
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
|
||||
|
||||
This file is part of ini editor plugin for MO
|
||||
|
||||
Ini editor plugin 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.
|
||||
|
||||
Ini editor plugin 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 Ini editor plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "inieditor.h"
|
||||
|
||||
#include <QtPlugin>
|
||||
#include <QMessageBox>
|
||||
#include <QDir>
|
||||
#include <QApplication>
|
||||
|
||||
#include <uibase/iplugingame.h>
|
||||
#include <uibase/textviewer.h>
|
||||
#include <uibase/utility.h>
|
||||
#include <uibase/imoinfo.h>
|
||||
|
||||
|
||||
using namespace MOBase;
|
||||
|
||||
|
||||
IniEditor::IniEditor()
|
||||
: m_MOInfo(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
bool IniEditor::init(IOrganizer *moInfo)
|
||||
{
|
||||
m_MOInfo = moInfo;
|
||||
return true;
|
||||
}
|
||||
|
||||
QString IniEditor::name() const
|
||||
{
|
||||
return "INI Editor";
|
||||
}
|
||||
|
||||
QString IniEditor::localizedName() const
|
||||
{
|
||||
return tr("INI Editor");
|
||||
}
|
||||
|
||||
QString IniEditor::author() const
|
||||
{
|
||||
return "Tannin";
|
||||
}
|
||||
|
||||
QString IniEditor::description() const
|
||||
{
|
||||
return tr("Very basic editor for INI files");
|
||||
}
|
||||
|
||||
VersionInfo IniEditor::version() const
|
||||
{
|
||||
return VersionInfo(1, 1, 0, VersionInfo::RELEASE_FINAL);
|
||||
}
|
||||
|
||||
QList<PluginSetting> IniEditor::settings() const
|
||||
{
|
||||
QList<PluginSetting> result;
|
||||
result.push_back(PluginSetting("external", "Use an external editor to open the files", QVariant(false)));
|
||||
result.push_back(PluginSetting("associated", "When using an external editor, use the application associated with \"INI\" files. "
|
||||
"If false, uses the \"edit\" command which usually invokes regular notepad.", QVariant(true)));
|
||||
return result;
|
||||
}
|
||||
|
||||
QString IniEditor::displayName() const
|
||||
{
|
||||
return tr("INI Editor");
|
||||
}
|
||||
|
||||
QString IniEditor::tooltip() const
|
||||
{
|
||||
return tr("Edit the INI files of the current profile");
|
||||
}
|
||||
|
||||
QIcon IniEditor::icon() const
|
||||
{
|
||||
return QIcon(":/inieditor/icon_document");
|
||||
}
|
||||
|
||||
void IniEditor::display() const
|
||||
{
|
||||
if (m_MOInfo == nullptr) {
|
||||
throw MyException(tr("plugin not initialized"));
|
||||
}
|
||||
|
||||
QStringList iniFiles = m_MOInfo->managedGame()->iniFiles();
|
||||
if (m_MOInfo->pluginSetting(name(), "external").toBool()) {
|
||||
for (QString const &file : iniFiles) {
|
||||
QString fileName = m_MOInfo->profile()->absoluteIniFilePath(file);
|
||||
::ShellExecuteW(nullptr, m_MOInfo->pluginSetting(name(), "associated").toBool() ? L"open" : L"edit",
|
||||
ToWString(fileName).c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
}
|
||||
else {
|
||||
TextViewer *viewer = new TextViewer("INI Files", parentWidget());
|
||||
if (m_MOInfo->profile()->localSettingsEnabled())
|
||||
{
|
||||
viewer->setDescription(tr(" Editing profile-specific INIs. Profile-specific game INI files are Enabled.\n \n You can change the INI Editor settings (in the main Mod Organizer settings under the plugins tab) to use an external text editor,\n either notepad or your windows associated program to .INI files."));
|
||||
}
|
||||
else {
|
||||
viewer->setDescription(tr(" Editing global INIs (in 'myGames' folder). Profile-specific game INI files are Disabled.\n \n You can change the INI Editor settings (in the main Mod Organizer settings under the plugins tab) to use an external text editor,\n either notepad or your windows associated program to .INI files."));
|
||||
}
|
||||
for (QString const& file : iniFiles) {
|
||||
QString fileName = m_MOInfo->profile()->absoluteIniFilePath(file);
|
||||
QFileInfo fileInfo(fileName);
|
||||
if (fileInfo.exists()) {
|
||||
if (fileInfo.size() < 1024 * 1024) {
|
||||
viewer->addFile(fileName, true);
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(parentWidget(), tr("File too big"),
|
||||
tr("Sorry, the file %1 is too large"
|
||||
" to be handled by the INI Editor").arg(fileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
viewer->show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||
Q_EXPORT_PLUGIN2(iniEditor, IniEditor)
|
||||
#endif
|
||||
/*
|
||||
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
|
||||
|
||||
This file is part of ini editor plugin for MO
|
||||
|
||||
Ini editor plugin 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.
|
||||
|
||||
Ini editor plugin 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 Ini editor plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "inieditor.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QDir>
|
||||
#include <QMessageBox>
|
||||
#include <QtPlugin>
|
||||
|
||||
#include <uibase/imoinfo.h>
|
||||
#include <uibase/iplugingame.h>
|
||||
#include <uibase/textviewer.h>
|
||||
#include <uibase/utility.h>
|
||||
|
||||
using namespace MOBase;
|
||||
|
||||
IniEditor::IniEditor() : m_MOInfo(nullptr) {}
|
||||
|
||||
bool IniEditor::init(IOrganizer* moInfo)
|
||||
{
|
||||
m_MOInfo = moInfo;
|
||||
return true;
|
||||
}
|
||||
|
||||
QString IniEditor::name() const
|
||||
{
|
||||
return "INI Editor";
|
||||
}
|
||||
|
||||
QString IniEditor::localizedName() const
|
||||
{
|
||||
return tr("INI Editor");
|
||||
}
|
||||
|
||||
QString IniEditor::author() const
|
||||
{
|
||||
return "Tannin";
|
||||
}
|
||||
|
||||
QString IniEditor::description() const
|
||||
{
|
||||
return tr("Very basic editor for INI files");
|
||||
}
|
||||
|
||||
VersionInfo IniEditor::version() const
|
||||
{
|
||||
return VersionInfo(1, 1, 0, VersionInfo::RELEASE_FINAL);
|
||||
}
|
||||
|
||||
QList<PluginSetting> IniEditor::settings() const
|
||||
{
|
||||
QList<PluginSetting> result;
|
||||
result.push_back(PluginSetting("external", "Use an external editor to open the files",
|
||||
QVariant(false)));
|
||||
result.push_back(PluginSetting(
|
||||
"associated",
|
||||
"When using an external editor, use the application associated with \"INI\" "
|
||||
"files. "
|
||||
"If false, uses the \"edit\" command which usually invokes regular notepad.",
|
||||
QVariant(true)));
|
||||
return result;
|
||||
}
|
||||
|
||||
QString IniEditor::displayName() const
|
||||
{
|
||||
return tr("INI Editor");
|
||||
}
|
||||
|
||||
QString IniEditor::tooltip() const
|
||||
{
|
||||
return tr("Edit the INI files of the current profile");
|
||||
}
|
||||
|
||||
QIcon IniEditor::icon() const
|
||||
{
|
||||
return QIcon(":/inieditor/icon_document");
|
||||
}
|
||||
|
||||
void IniEditor::display() const
|
||||
{
|
||||
if (m_MOInfo == nullptr) {
|
||||
throw MyException(tr("plugin not initialized"));
|
||||
}
|
||||
|
||||
QStringList iniFiles = m_MOInfo->managedGame()->iniFiles();
|
||||
if (m_MOInfo->pluginSetting(name(), "external").toBool()) {
|
||||
for (QString const& file : iniFiles) {
|
||||
QString fileName = m_MOInfo->profile()->absoluteIniFilePath(file);
|
||||
::ShellExecuteW(nullptr,
|
||||
m_MOInfo->pluginSetting(name(), "associated").toBool() ? L"open"
|
||||
: L"edit",
|
||||
ToWString(fileName).c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
} else {
|
||||
TextViewer* viewer = new TextViewer("INI Files", parentWidget());
|
||||
if (m_MOInfo->profile()->localSettingsEnabled()) {
|
||||
viewer->setDescription(tr(
|
||||
" Editing profile-specific INIs. Profile-specific game INI files are "
|
||||
"Enabled.\n \n You can change the INI Editor settings (in the main Mod "
|
||||
"Organizer settings under the plugins tab) to use an external text editor,\n "
|
||||
"either notepad or your windows associated program to .INI files."));
|
||||
} else {
|
||||
viewer->setDescription(tr(
|
||||
" Editing global INIs (in 'myGames' folder). Profile-specific game INI files "
|
||||
"are Disabled.\n \n You can change the INI Editor settings (in the main Mod "
|
||||
"Organizer settings under the plugins tab) to use an external text editor,\n "
|
||||
"either notepad or your windows associated program to .INI files."));
|
||||
}
|
||||
for (QString const& file : iniFiles) {
|
||||
QString fileName = m_MOInfo->profile()->absoluteIniFilePath(file);
|
||||
QFileInfo fileInfo(fileName);
|
||||
if (fileInfo.exists()) {
|
||||
if (fileInfo.size() < 1024 * 1024) {
|
||||
viewer->addFile(fileName, true);
|
||||
} else {
|
||||
QMessageBox::warning(parentWidget(), tr("File too big"),
|
||||
tr("Sorry, the file %1 is too large"
|
||||
" to be handled by the INI Editor")
|
||||
.arg(fileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
viewer->show();
|
||||
}
|
||||
}
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
|
||||
Q_EXPORT_PLUGIN2(iniEditor, IniEditor)
|
||||
#endif
|
||||
|
||||
+55
-56
@@ -1,56 +1,55 @@
|
||||
/*
|
||||
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
|
||||
|
||||
This file is part of ini editor plugin for MO
|
||||
|
||||
Ini editor plugin 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.
|
||||
|
||||
Ini editor plugin 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 Ini editor plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef INIEDITOR_H
|
||||
#define INIEDITOR_H
|
||||
|
||||
#include <uibase/iplugintool.h>
|
||||
|
||||
class IniEditor : public MOBase::IPluginTool
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(MOBase::IPlugin MOBase::IPluginTool)
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
Q_PLUGIN_METADATA(IID "org.tannin.IniEditor")
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
IniEditor();
|
||||
|
||||
virtual bool init(MOBase::IOrganizer *moInfo) override;
|
||||
virtual QString name() const override;
|
||||
virtual QString localizedName() const override;
|
||||
virtual QString author() const override;
|
||||
virtual QString description() const override;
|
||||
virtual MOBase::VersionInfo version() const override;
|
||||
virtual QList<MOBase::PluginSetting> settings() const override;
|
||||
|
||||
virtual QString displayName() const;
|
||||
virtual QString tooltip() const;
|
||||
virtual QIcon icon() const;
|
||||
|
||||
public slots:
|
||||
virtual void display() const;
|
||||
|
||||
private:
|
||||
const MOBase::IOrganizer *m_MOInfo;
|
||||
};
|
||||
|
||||
#endif // INIEDITOR_H
|
||||
/*
|
||||
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
|
||||
|
||||
This file is part of ini editor plugin for MO
|
||||
|
||||
Ini editor plugin 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.
|
||||
|
||||
Ini editor plugin 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 Ini editor plugin. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef INIEDITOR_H
|
||||
#define INIEDITOR_H
|
||||
|
||||
#include <uibase/iplugintool.h>
|
||||
|
||||
class IniEditor : public MOBase::IPluginTool
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(MOBase::IPlugin MOBase::IPluginTool)
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
|
||||
Q_PLUGIN_METADATA(IID "org.tannin.IniEditor")
|
||||
#endif
|
||||
|
||||
public:
|
||||
IniEditor();
|
||||
|
||||
virtual bool init(MOBase::IOrganizer* moInfo) override;
|
||||
virtual QString name() const override;
|
||||
virtual QString localizedName() const override;
|
||||
virtual QString author() const override;
|
||||
virtual QString description() const override;
|
||||
virtual MOBase::VersionInfo version() const override;
|
||||
virtual QList<MOBase::PluginSetting> settings() const override;
|
||||
|
||||
virtual QString displayName() const;
|
||||
virtual QString tooltip() const;
|
||||
virtual QIcon icon() const;
|
||||
|
||||
public slots:
|
||||
virtual void display() const;
|
||||
|
||||
private:
|
||||
const MOBase::IOrganizer* m_MOInfo;
|
||||
};
|
||||
|
||||
#endif // INIEDITOR_H
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@
|
||||
<message>
|
||||
<location filename="inieditor.cpp" line="115"/>
|
||||
<source> Editing profile-specific INIs. Profile-specific game INI files are Enabled.
|
||||
|
||||
|
||||
You can change the INI Editor settings (in the main Mod Organizer settings under the plugins tab) to use an external text editor,
|
||||
either notepad or your windows associated program to .INI files.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -45,7 +45,7 @@
|
||||
<message>
|
||||
<location filename="inieditor.cpp" line="118"/>
|
||||
<source> Editing global INIs (in 'myGames' folder). Profile-specific game INI files are Disabled.
|
||||
|
||||
|
||||
You can change the INI Editor settings (in the main Mod Organizer settings under the plugins tab) to use an external text editor,
|
||||
either notepad or your windows associated program to .INI files.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
||||
Reference in New Issue
Block a user