Began migrating settings to globally accessible 'settings' object

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

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

@ -17,11 +17,16 @@
* along with Labcontrol. If not, see <http://www.gnu.org/licenses/>.
*/
#include <memory>
#include <QErrorMessage>
#include <QFile>
#include <QTextStream>
#include "lablib.h"
#include "settings.h"
extern std::unique_ptr< lc::Settings > settings;
lc::Lablib::Lablib( QPlainTextEdit *argDebugMessagesTextEdit, QObject *argParent ) :
QObject{ argParent },
@ -407,7 +412,7 @@ void lc::Lablib::ShowOrsee() {
QProcess showOrseeProcess;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
showOrseeProcess.setProcessEnvironment( env );
QString program{ *( *settingsItems )[ ( int )settItms_t::BROWSER_CMD ] };
QString program{ settings->browserCmd };
QStringList arguments{ QStringList{} << *( *settingsItems )[ ( int )settItms_t::ORSEE_URL ] };
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/>.
*/
#include "mainwindow.h"
#include <memory>
#include <QApplication>
#include "mainwindow.h"
#include "Lib/settings.h"
std::unique_ptr< lc::Settings > settings;
int main( int argc, char *argv[] ) {
QApplication a{ argc, argv };
settings.reset( new lc::Settings{ QSettings{ "Economic Laboratory", "Labcontrol" } } );
lc::MainWindow w;
w.show();

@ -17,11 +17,16 @@
* along with Labcontrol. If not, see <http://www.gnu.org/licenses/>.
*/
#include "mainwindow.h"
#include <memory>
#include <QtGlobal>
#include <QInputDialog>
#include "mainwindow.h"
#include "Lib/settings.h"
extern std::unique_ptr< lc::Settings > settings;
lc::MainWindow::MainWindow( QWidget *argParent ) :
QMainWindow{ argParent },
icons( static_cast< int >( icons_t::ICON_QUANTITY ) ),
@ -115,7 +120,7 @@ void lc::MainWindow::DisableDisfunctionalWidgets() {
}
// 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 ) ) {
ui->PBShowORSEE->setEnabled( false );
}

Loading…
Cancel
Save