Began migrating settings to globally accessible 'settings' object

remotes/origin/HEAD
markuspg 10 years ago
parent 1219c8f2d8
commit 1b57fe9273

@ -17,6 +17,7 @@ SOURCES += src/main.cpp \
src/Lib/receiptsprinter.cpp \ src/Lib/receiptsprinter.cpp \
src/Lib/session.cpp \ src/Lib/session.cpp \
src/Lib/sessionsmodel.cpp \ src/Lib/sessionsmodel.cpp \
src/Lib/settings.cpp \
src/Lib/ztree.cpp src/Lib/ztree.cpp
HEADERS += src/mainwindow.h \ HEADERS += src/mainwindow.h \
@ -32,6 +33,7 @@ HEADERS += src/mainwindow.h \
src/Lib/receiptsprinter.h \ src/Lib/receiptsprinter.h \
src/Lib/session.h \ src/Lib/session.h \
src/Lib/sessionsmodel.h \ src/Lib/sessionsmodel.h \
src/Lib/settings.h \
src/Lib/ztree.h src/Lib/ztree.h
FORMS += src/mainwindow.ui \ FORMS += src/mainwindow.ui \

@ -17,11 +17,16 @@
* along with Labcontrol. If not, see <http://www.gnu.org/licenses/>. * along with Labcontrol. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <memory>
#include <QErrorMessage> #include <QErrorMessage>
#include <QFile> #include <QFile>
#include <QTextStream> #include <QTextStream>
#include "lablib.h" #include "lablib.h"
#include "settings.h"
extern std::unique_ptr< lc::Settings > settings;
lc::Lablib::Lablib( QPlainTextEdit *argDebugMessagesTextEdit, QObject *argParent ) : lc::Lablib::Lablib( QPlainTextEdit *argDebugMessagesTextEdit, QObject *argParent ) :
QObject{ argParent }, QObject{ argParent },
@ -407,7 +412,7 @@ void lc::Lablib::ShowOrsee() {
QProcess showOrseeProcess; QProcess showOrseeProcess;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
showOrseeProcess.setProcessEnvironment( env ); showOrseeProcess.setProcessEnvironment( env );
QString program{ *( *settingsItems )[ ( int )settItms_t::BROWSER_CMD ] }; QString program{ settings->browserCmd };
QStringList arguments{ QStringList{} << *( *settingsItems )[ ( int )settItms_t::ORSEE_URL ] }; QStringList arguments{ QStringList{} << *( *settingsItems )[ ( int )settItms_t::ORSEE_URL ] };
showOrseeProcess.startDetached( program, arguments ); showOrseeProcess.startDetached( program, arguments );

@ -0,0 +1,6 @@
#include "settings.h"
Settings::Settings( QObject *argParent ) :
QObject{ argParent }
{
}

@ -0,0 +1,13 @@
#ifndef SETTINGS_H
#define SETTINGS_H
#include <QObject>
class Settings : public QObject {
Q_OBJECT
public:
explicit Settings( QObject *argParent = nullptr );
};
#endif // SETTINGS_H

@ -17,11 +17,18 @@
* along with Labcontrol. If not, see <http://www.gnu.org/licenses/>. * along with Labcontrol. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "mainwindow.h" #include <memory>
#include <QApplication> #include <QApplication>
#include "mainwindow.h"
#include "Lib/settings.h"
std::unique_ptr< lc::Settings > settings;
int main( int argc, char *argv[] ) { int main( int argc, char *argv[] ) {
QApplication a{ argc, argv }; QApplication a{ argc, argv };
settings.reset( new lc::Settings{ QSettings{ "Economic Laboratory", "Labcontrol" } } );
lc::MainWindow w; lc::MainWindow w;
w.show(); w.show();

@ -17,11 +17,16 @@
* along with Labcontrol. If not, see <http://www.gnu.org/licenses/>. * along with Labcontrol. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "mainwindow.h" #include <memory>
#include <QtGlobal> #include <QtGlobal>
#include <QInputDialog> #include <QInputDialog>
#include "mainwindow.h"
#include "Lib/settings.h"
extern std::unique_ptr< lc::Settings > settings;
lc::MainWindow::MainWindow( QWidget *argParent ) : lc::MainWindow::MainWindow( QWidget *argParent ) :
QMainWindow{ argParent }, QMainWindow{ argParent },
icons( static_cast< int >( icons_t::ICON_QUANTITY ) ), icons( static_cast< int >( icons_t::ICON_QUANTITY ) ),
@ -115,7 +120,7 @@ void lc::MainWindow::DisableDisfunctionalWidgets() {
} }
// Disable 'PBShowORSEE', if 'orsee_command' was not set // Disable 'PBShowORSEE', if 'orsee_command' was not set
if ( !lablib->GetSettingsItem( settItms_t::BROWSER_CMD ) if ( settings->browserCmd.isEmpty()
|| !lablib->GetSettingsItem( settItms_t::ORSEE_URL ) ) { || !lablib->GetSettingsItem( settItms_t::ORSEE_URL ) ) {
ui->PBShowORSEE->setEnabled( false ); ui->PBShowORSEE->setEnabled( false );
} }

Loading…
Cancel
Save