Introduce a config resolver (#2244)
* Add config resolver Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Enable resolver even when using systray Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix bugs Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Do not show resolver for shortcut conflicts Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix build error on MacOS and Windows Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Add missing translations Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Replace variable i with row Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Improve presentation Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Disambiguate shortcuts and general settings Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Wrap some strings in tr Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Update tooltips in ConfigResolver Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
This commit is contained in:
42
src/config/configerrordetails.cpp
Normal file
42
src/config/configerrordetails.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "src/config/configerrordetails.h"
|
||||
|
||||
#include "src/utils/abstractlogger.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QTextEdit>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
ConfigErrorDetails::ConfigErrorDetails(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
// Generate error log message
|
||||
QString str;
|
||||
AbstractLogger stream(str, AbstractLogger::Error);
|
||||
ConfigHandler().checkForErrors(&stream);
|
||||
|
||||
// Set up dialog
|
||||
setWindowTitle(tr("Configuration errors"));
|
||||
setLayout(new QVBoxLayout(this));
|
||||
|
||||
// Add text display
|
||||
QTextEdit* textDisplay = new QTextEdit(this);
|
||||
textDisplay->setPlainText(str);
|
||||
textDisplay->setReadOnly(true);
|
||||
layout()->addWidget(textDisplay);
|
||||
|
||||
// Add Ok button
|
||||
using BBox = QDialogButtonBox;
|
||||
BBox* buttons = new BBox(BBox::Ok);
|
||||
layout()->addWidget(buttons);
|
||||
connect(buttons, &BBox::clicked, this, [this]() { close(); });
|
||||
|
||||
show();
|
||||
|
||||
qApp->processEvents();
|
||||
QPoint center = geometry().center();
|
||||
QRect dialogRect(0, 0, 600, 400);
|
||||
dialogRect.moveCenter(center);
|
||||
setGeometry(dialogRect);
|
||||
}
|
||||
Reference in New Issue
Block a user