Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
f99f71a8db | |||
6e60013037 | |||
e38fa47961 | |||
764cdf4e51 | |||
e5ff0fa743 | |||
e26fa4eea2 | |||
5648757389 | |||
![]() |
c3b4c7c3b1 | ||
e233c860d1 | |||
c230bfb1bc | |||
5119b1cd13 | |||
d937324885 | |||
f7e5c53879 | |||
3796925e93 | |||
d5343a0073 |
2
src/external/MusrRoot/CMakeLists.txt
vendored
2
src/external/MusrRoot/CMakeLists.txt
vendored
@ -22,7 +22,7 @@ set(prefix "${CMAKE_INSTALL_PREFIX}")
|
|||||||
set(exec_prefix "\$\{prefix\}")
|
set(exec_prefix "\$\{prefix\}")
|
||||||
set(libdir "\$\{exec_prefix\}/lib")
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
set(includedir "\$\{prefix\}/include")
|
set(includedir "\$\{prefix\}/include")
|
||||||
set(MUSR_ROOT_VERSION "1.0.0")
|
set(MUSR_ROOT_VERSION "1.1.0")
|
||||||
set(MUSR_ROOT_LIBRARY_NAME "TMusrRunHeader")
|
set(MUSR_ROOT_LIBRARY_NAME "TMusrRunHeader")
|
||||||
configure_file("TMusrRunHeader.pc.in" "TMusrRunHeader.pc" @ONLY)
|
configure_file("TMusrRunHeader.pc.in" "TMusrRunHeader.pc" @ONLY)
|
||||||
|
|
||||||
|
33
src/external/MusrRoot/TMusrRunHeader.cpp
vendored
33
src/external/MusrRoot/TMusrRunHeader.cpp
vendored
@ -395,6 +395,23 @@ Bool_t TMusrRunHeader::FillFolder(TFolder *folder)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// FillDirectory (public)
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Fills the RunHeader directory. This is needed to write it to a ROOT file.
|
||||||
|
* It walks through all information and attaches it to the directory or replaces
|
||||||
|
* it, if it is already present.
|
||||||
|
*
|
||||||
|
* \param dir to be filled
|
||||||
|
*/
|
||||||
|
Bool_t TMusrRunHeader::FillDirectory(TDirectoryFile *dir)
|
||||||
|
{
|
||||||
|
// NOT YET IMPLEMENTED
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
// GetTypeOfPath (public)
|
// GetTypeOfPath (public)
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
@ -873,6 +890,22 @@ Bool_t TMusrRunHeader::ExtractAll(TFolder *folder)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// ExtractAll (public)
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Reads all data from an open ROOT-file structure and feeds all the necessary
|
||||||
|
* internal data objects.
|
||||||
|
*
|
||||||
|
* \param dir
|
||||||
|
*/
|
||||||
|
Bool_t TMusrRunHeader::ExtractAll(TDirectoryFile *dir)
|
||||||
|
{
|
||||||
|
// NOT YET IMPLEMENTED
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
// ExtractHeaderInformation (public)
|
// ExtractHeaderInformation (public)
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
|
3
src/external/MusrRoot/TMusrRunHeader.h
vendored
3
src/external/MusrRoot/TMusrRunHeader.h
vendored
@ -38,6 +38,7 @@
|
|||||||
#include <TObjString.h>
|
#include <TObjString.h>
|
||||||
#include <TObjArray.h>
|
#include <TObjArray.h>
|
||||||
#include <TFolder.h>
|
#include <TFolder.h>
|
||||||
|
#include <TDirectoryFile.h>
|
||||||
|
|
||||||
#define MRH_UNDEFINED -9.99e99
|
#define MRH_UNDEFINED -9.99e99
|
||||||
|
|
||||||
@ -129,8 +130,10 @@ public:
|
|||||||
virtual TString GetFileName() { return fFileName; }
|
virtual TString GetFileName() { return fFileName; }
|
||||||
|
|
||||||
virtual Bool_t FillFolder(TFolder *folder);
|
virtual Bool_t FillFolder(TFolder *folder);
|
||||||
|
virtual Bool_t FillDirectory(TDirectoryFile *dir);
|
||||||
|
|
||||||
virtual Bool_t ExtractAll(TFolder *folder);
|
virtual Bool_t ExtractAll(TFolder *folder);
|
||||||
|
virtual Bool_t ExtractAll(TDirectoryFile *folder);
|
||||||
virtual Bool_t ExtractHeaderInformation(TObjArray *headerInfo, TString path);
|
virtual Bool_t ExtractHeaderInformation(TObjArray *headerInfo, TString path);
|
||||||
|
|
||||||
virtual TString GetTypeOfPath(TString pathName);
|
virtual TString GetTypeOfPath(TString pathName);
|
||||||
|
26
src/external/mud/src/mud.h
vendored
26
src/external/mud/src/mud.h
vendored
@ -4,7 +4,7 @@
|
|||||||
* mud.h Declarations for MUD
|
* mud.h Declarations for MUD
|
||||||
* v1.3
|
* v1.3
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-2025 TRIUMF (Vancouver, Canada)
|
* Copyright (C) 1994-2021 TRIUMF (Vancouver, Canada)
|
||||||
*
|
*
|
||||||
* Authors: T. Whidden, D. Arseneau, S. Daviel
|
* Authors: T. Whidden, D. Arseneau, S. Daviel
|
||||||
*
|
*
|
||||||
@ -25,14 +25,13 @@
|
|||||||
* 25-Nov-2009 DJA 64-bit linux
|
* 25-Nov-2009 DJA 64-bit linux
|
||||||
* 25-Jun-2017 DJA Allow use in C++ (ROOT); shared lib.
|
* 25-Jun-2017 DJA Allow use in C++ (ROOT); shared lib.
|
||||||
* 14-Aug-2019 DJA Use stdint.h, casts in printf
|
* 14-Aug-2019 DJA Use stdint.h, casts in printf
|
||||||
|
* 01-Jun-2021 DJA Add arm64 arch as little-endian
|
||||||
|
* 26-Aug-2021 DJA Declare caddr_t in all Win.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#ifdef __CINT__
|
|
||||||
typedef char* caddr_t;
|
|
||||||
#endif /* __CINT __ */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FORMAT IDs - Must be unique!
|
* FORMAT IDs - Must be unique!
|
||||||
@ -133,25 +132,25 @@ typedef int32_t INT32;
|
|||||||
typedef uint32_t UINT32;
|
typedef uint32_t UINT32;
|
||||||
typedef float REAL32;
|
typedef float REAL32;
|
||||||
typedef double REAL64;
|
typedef double REAL64;
|
||||||
#else /*no stding.h */
|
#else /*no stdint.h */
|
||||||
typedef int STATUS;
|
typedef int STATUS;
|
||||||
typedef char INT8;
|
typedef char INT8;
|
||||||
typedef unsigned char UINT8;
|
typedef unsigned char UINT8;
|
||||||
typedef short INT16;
|
typedef short INT16;
|
||||||
typedef unsigned short UINT16;
|
typedef unsigned short UINT16;
|
||||||
#if defined(__alpha) || defined(__linux) || defined(__MACH__) || defined(__arm64)
|
#if defined(__alpha)||defined(__linux)||defined(__MACH__) || defined(__arm64)
|
||||||
typedef int INT32;
|
typedef int INT32;
|
||||||
typedef unsigned int UINT32;
|
typedef unsigned int UINT32;
|
||||||
#else
|
#else
|
||||||
typedef long INT32;
|
typedef long INT32;
|
||||||
typedef unsigned long UINT32;
|
typedef unsigned long UINT32;
|
||||||
#endif /* __alpha || __linux || __MACH__*/
|
#endif /* __alpha || __linux || __MACH__ || __arm64 */
|
||||||
typedef float REAL32;
|
typedef float REAL32;
|
||||||
typedef double REAL64;
|
typedef double REAL64;
|
||||||
#if (defined(__alpha)&&defined(vms)) || defined(__BORLANDC__) || defined(__TURBOC__)
|
#endif /* _STDINT_H */
|
||||||
|
#if (defined(__alpha)&&defined(vms)) || defined( __CINT__ ) || defined(_WIN32)
|
||||||
typedef char* caddr_t;
|
typedef char* caddr_t;
|
||||||
#endif
|
#endif
|
||||||
#endif /* _STDINT_HNOSTDINT */
|
|
||||||
typedef UINT32 TIME;
|
typedef UINT32 TIME;
|
||||||
#ifndef BOOL_DEFINED
|
#ifndef BOOL_DEFINED
|
||||||
#define BOOL_DEFINED
|
#define BOOL_DEFINED
|
||||||
@ -184,10 +183,10 @@ typedef UINT32 BOOL;
|
|||||||
/*
|
/*
|
||||||
* c_utils.h, Defines for C utilities
|
* c_utils.h, Defines for C utilities
|
||||||
*/
|
*/
|
||||||
#if defined(vms) || defined(__MSDOS__)
|
#if defined(vms) || defined(__MSDOS__) || defined(_WIN32)
|
||||||
#define bcopy( b1, b2, len ) memcpy(b2,b1,len)
|
#define bcopy( b1, b2, len ) memcpy(b2,b1,len)
|
||||||
#define bzero( b, len ) memset(b,(char)0,len)
|
#define bzero( b, len ) memset(b,(char)0,len)
|
||||||
#endif /* vms || __MSDOS__ */
|
#endif /* vms || __MSDOS__ || _WIN32 */
|
||||||
#ifndef _C_UTILS_H_ /* conflict with c_utils.h */
|
#ifndef _C_UTILS_H_ /* conflict with c_utils.h */
|
||||||
#define _max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
|
#define _max( a, b ) ( ( (a) > (b) ) ? (a) : (b) )
|
||||||
#define _min( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
|
#define _min( a, b ) ( ( (a) < (b) ) ? (a) : (b) )
|
||||||
@ -204,7 +203,6 @@ typedef UINT32 BOOL;
|
|||||||
#define strdup( s ) strcpy((char*)malloc(strlen(s)+1),s)
|
#define strdup( s ) strcpy((char*)malloc(strlen(s)+1),s)
|
||||||
#endif /* vms || mips&&!sgi */
|
#endif /* vms || mips&&!sgi */
|
||||||
/*#endif */
|
/*#endif */
|
||||||
typedef int (*MUD_PROC)();
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MUD_ENCODE = 0,
|
MUD_ENCODE = 0,
|
||||||
@ -215,6 +213,8 @@ typedef enum {
|
|||||||
MUD_HEADS = 5
|
MUD_HEADS = 5
|
||||||
} MUD_OPT;
|
} MUD_OPT;
|
||||||
|
|
||||||
|
typedef int (*MUD_PROC)(MUD_OPT, void *p1, void *p2);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MUD_ONE = 1,
|
MUD_ONE = 1,
|
||||||
MUD_ALL = 2,
|
MUD_ALL = 2,
|
||||||
@ -427,7 +427,7 @@ typedef struct {
|
|||||||
#define MUD_instanceID( pM ) (((MUD_SEC*)pM)->core.instanceID)
|
#define MUD_instanceID( pM ) (((MUD_SEC*)pM)->core.instanceID)
|
||||||
|
|
||||||
|
|
||||||
#if defined(__MSDOS__) || defined(__i386__) || defined(__i586__) || defined(__i686__) || defined(vax) || defined(__alpha) || defined(__amd64) || defined(__arm64) || (defined(__mips)&&!defined(__sgi))
|
#if defined(__MSDOS__) || defined(_WIN32) || defined(__i386__) || defined(__i586__) || defined(__i686__) || defined(vax) || defined(__alpha) || defined(__amd64) || defined(__arm64) || (defined(__mips)&&!defined(__sgi))
|
||||||
#define MUD_LITTLE_ENDIAN 1
|
#define MUD_LITTLE_ENDIAN 1
|
||||||
#else
|
#else
|
||||||
#define MUD_BIG_ENDIAN 1
|
#define MUD_BIG_ENDIAN 1
|
||||||
|
@ -39,7 +39,9 @@
|
|||||||
#include "TString.h"
|
#include "TString.h"
|
||||||
#include "TFile.h"
|
#include "TFile.h"
|
||||||
#include "TFolder.h"
|
#include "TFolder.h"
|
||||||
|
#include "TDirectoryFile.h"
|
||||||
#include "TKey.h"
|
#include "TKey.h"
|
||||||
|
#include "TList.h"
|
||||||
#include "TObjArray.h"
|
#include "TObjArray.h"
|
||||||
#include "TObjString.h"
|
#include "TObjString.h"
|
||||||
#include "TSystemFile.h"
|
#include "TSystemFile.h"
|
||||||
@ -73,7 +75,7 @@ class PMusrRoot2Xml
|
|||||||
virtual UInt_t GetNoOfDetectors() { return fNoOfDetectors; }
|
virtual UInt_t GetNoOfDetectors() { return fNoOfDetectors; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum EFolderTag {eUnkown, eDecayAnaModule, eSlowControlAnaModule};
|
enum fNodeTag {eUnkown, eDecayAnaModule, eSlowControlAnaModule};
|
||||||
|
|
||||||
std::vector<std::string> fXmlData; ///< keeps the XML structure dump of the ROOT file
|
std::vector<std::string> fXmlData; ///< keeps the XML structure dump of the ROOT file
|
||||||
|
|
||||||
@ -82,14 +84,15 @@ class PMusrRoot2Xml
|
|||||||
Bool_t fValid; ///< true if the conversion was fine
|
Bool_t fValid; ///< true if the conversion was fine
|
||||||
TString fFileName; ///< file name of the ROOT file
|
TString fFileName; ///< file name of the ROOT file
|
||||||
TString fXmlDumpFileName; ///< file name of the XML dump file
|
TString fXmlDumpFileName; ///< file name of the XML dump file
|
||||||
EFolderTag fFolderTag; ///< switch indicating which kind of TFolder object is found
|
fNodeTag fNodeTag; ///< switch indicating which kind of TFolder or TDirectoryFile object is found
|
||||||
|
|
||||||
UInt_t fNoOfDecayHistos; ///< number of decay histos in the DecayAnaModule
|
UInt_t fNoOfDecayHistos{0}; ///< number of decay histos in the DecayAnaModule
|
||||||
UInt_t fNoOfHistos; ///< number of histos from run header
|
UInt_t fNoOfHistos{0}; ///< number of histos from run header
|
||||||
UInt_t fNoOfRedGreenOffsets; ///< number of RedGreen offsets
|
UInt_t fNoOfRedGreenOffsets{0}; ///< number of RedGreen offsets
|
||||||
UInt_t fNoOfDetectors; ///< number of detector entries in the header
|
UInt_t fNoOfDetectors{0}; ///< number of detector entries in the header
|
||||||
|
|
||||||
virtual void SortHistoFolders();
|
virtual void SortHistoFolders();
|
||||||
|
virtual void DumpDirectory(TDirectoryFile *dir, UInt_t offset);
|
||||||
virtual void DumpFolder(TFolder *folder, UInt_t offset);
|
virtual void DumpFolder(TFolder *folder, UInt_t offset);
|
||||||
virtual void DumpObjArray(TObjArray *obj, UInt_t offset);
|
virtual void DumpObjArray(TObjArray *obj, UInt_t offset);
|
||||||
virtual void DumpEntry(TObject *obj, UInt_t offset);
|
virtual void DumpEntry(TObject *obj, UInt_t offset);
|
||||||
@ -105,13 +108,9 @@ class PMusrRoot2Xml
|
|||||||
PMusrRoot2Xml::PMusrRoot2Xml(const char *fileName, bool quiet, bool keep) : fQuiet(quiet), fKeep(keep), fFileName(fileName)
|
PMusrRoot2Xml::PMusrRoot2Xml(const char *fileName, bool quiet, bool keep) : fQuiet(quiet), fKeep(keep), fFileName(fileName)
|
||||||
{
|
{
|
||||||
fXmlDumpFileName = "__MusrRootXmlDump.xml";
|
fXmlDumpFileName = "__MusrRootXmlDump.xml";
|
||||||
fFolderTag = eUnkown;
|
fNodeTag = eUnkown;
|
||||||
fValid = false;
|
fValid = false;
|
||||||
fXmlData.clear();
|
fXmlData.clear();
|
||||||
fNoOfDecayHistos = 0;
|
|
||||||
fNoOfHistos = 0;
|
|
||||||
fNoOfRedGreenOffsets = 0;
|
|
||||||
fNoOfDetectors = 0;
|
|
||||||
|
|
||||||
// read assumed MusrRoot file
|
// read assumed MusrRoot file
|
||||||
TFile f(fFileName.Data());
|
TFile f(fFileName.Data());
|
||||||
@ -127,7 +126,8 @@ PMusrRoot2Xml::PMusrRoot2Xml(const char *fileName, bool quiet, bool keep) : fQui
|
|||||||
TIter next = f.GetListOfKeys();
|
TIter next = f.GetListOfKeys();
|
||||||
TKey *key;
|
TKey *key;
|
||||||
TFolder *folder;
|
TFolder *folder;
|
||||||
TString str, tag;
|
TDirectoryFile *dir;
|
||||||
|
TString str;
|
||||||
|
|
||||||
UInt_t offset = 2;
|
UInt_t offset = 2;
|
||||||
|
|
||||||
@ -137,6 +137,9 @@ PMusrRoot2Xml::PMusrRoot2Xml(const char *fileName, bool quiet, bool keep) : fQui
|
|||||||
if (str == "TFolder") {
|
if (str == "TFolder") {
|
||||||
folder = dynamic_cast<TFolder*>(key->ReadObj());
|
folder = dynamic_cast<TFolder*>(key->ReadObj());
|
||||||
CheckClass(folder, str, offset);
|
CheckClass(folder, str, offset);
|
||||||
|
} else if (str == "TDirectoryFile") {
|
||||||
|
dir = dynamic_cast<TDirectoryFile*>(key->ReadObj());
|
||||||
|
CheckClass(dir, str, offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!fQuiet) std::cout << std::endl;
|
if (!fQuiet) std::cout << std::endl;
|
||||||
@ -226,6 +229,30 @@ void PMusrRoot2Xml::SortHistoFolders()
|
|||||||
temp_xml_data.clear();
|
temp_xml_data.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <p>Dump TDirectoryFile structure.
|
||||||
|
*
|
||||||
|
* \param dir TDirectoryFile object found in the ROOT file
|
||||||
|
* \param offset needed to indent dump info
|
||||||
|
*/
|
||||||
|
void PMusrRoot2Xml::DumpDirectory(TDirectoryFile *dir, UInt_t offset)
|
||||||
|
{
|
||||||
|
TString offsetStr="";
|
||||||
|
for (UInt_t i=0; i<offset; i++)
|
||||||
|
offsetStr += " ";
|
||||||
|
|
||||||
|
TList *ll = dir->GetListOfKeys();
|
||||||
|
TString str;
|
||||||
|
TObject *oo;
|
||||||
|
for (TObject *obj: *ll) {
|
||||||
|
oo = static_cast<TKey*>(obj)->ReadObj();
|
||||||
|
if (!fQuiet) std::cout << std::endl << offsetStr << "name: " << oo->GetName() << ", class name: " << oo->ClassName();
|
||||||
|
str = oo->ClassName();
|
||||||
|
CheckClass(oo, str, offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* <p>Dump folder structure.
|
* <p>Dump folder structure.
|
||||||
@ -343,7 +370,7 @@ void PMusrRoot2Xml::DumpEntry(TObject *obj, UInt_t offset)
|
|||||||
offsetStr += " ";
|
offsetStr += " ";
|
||||||
|
|
||||||
TString nameTag(""), typeTag("");
|
TString nameTag(""), typeTag("");
|
||||||
switch (fFolderTag) {
|
switch (fNodeTag) {
|
||||||
case eDecayAnaModule:
|
case eDecayAnaModule:
|
||||||
nameTag = "HistoName";
|
nameTag = "HistoName";
|
||||||
typeTag = "HistoType";
|
typeTag = "HistoType";
|
||||||
@ -359,7 +386,7 @@ void PMusrRoot2Xml::DumpEntry(TObject *obj, UInt_t offset)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fFolderTag == eDecayAnaModule)
|
if (fNodeTag == eDecayAnaModule)
|
||||||
fNoOfDecayHistos++;
|
fNoOfDecayHistos++;
|
||||||
|
|
||||||
TString str;
|
TString str;
|
||||||
@ -389,34 +416,37 @@ void PMusrRoot2Xml::CheckClass(TObject *obj, TString str, UInt_t offset)
|
|||||||
for (UInt_t i=0; i<offset; i++)
|
for (UInt_t i=0; i<offset; i++)
|
||||||
offsetStr += " ";
|
offsetStr += " ";
|
||||||
|
|
||||||
if (str == "TFolder") {
|
if ((str == "TFolder") || (str == "TDirectoryFile")) {
|
||||||
TString xmlTagName(TString(obj->GetName()));
|
TString xmlTagName(TString(obj->GetName()));
|
||||||
|
|
||||||
// set folder tag
|
// set folder tag
|
||||||
if (!xmlTagName.CompareTo("DecayAnaModule"))
|
if (!xmlTagName.CompareTo("DecayAnaModule"))
|
||||||
fFolderTag = eDecayAnaModule;
|
fNodeTag = eDecayAnaModule;
|
||||||
else if (!xmlTagName.CompareTo("SCAnaModule"))
|
else if (!xmlTagName.CompareTo("SCAnaModule"))
|
||||||
fFolderTag = eSlowControlAnaModule;
|
fNodeTag = eSlowControlAnaModule;
|
||||||
else if (!xmlTagName.CompareTo("SCAnaModule"))
|
else if (!xmlTagName.CompareTo("SCAnaModule"))
|
||||||
fFolderTag = eSlowControlAnaModule;
|
fNodeTag = eSlowControlAnaModule;
|
||||||
else
|
else
|
||||||
fFolderTag = eUnkown;
|
fNodeTag = eUnkown;
|
||||||
|
|
||||||
offset += 2;
|
offset += 2;
|
||||||
str = offsetStr + "<" + xmlTagName + ">";
|
TString sstr = offsetStr + "<" + xmlTagName + ">";
|
||||||
fXmlData.push_back(str.Data());
|
fXmlData.push_back(sstr.Data());
|
||||||
|
|
||||||
|
if (str == "TFolder")
|
||||||
DumpFolder(dynamic_cast<TFolder*>(obj), offset);
|
DumpFolder(dynamic_cast<TFolder*>(obj), offset);
|
||||||
|
else
|
||||||
|
DumpDirectory(dynamic_cast<TDirectoryFile*>(obj), offset);
|
||||||
|
|
||||||
str = offsetStr + "</" + xmlTagName + ">";
|
sstr = offsetStr + "</" + xmlTagName + ">";
|
||||||
fXmlData.push_back(str.Data());
|
fXmlData.push_back(sstr.Data());
|
||||||
} else if (str == "TObjArray") {
|
} else if (str == "TObjArray") {
|
||||||
offset += 2;
|
offset += 2;
|
||||||
DumpObjArray(dynamic_cast<TObjArray*>(obj), offset);
|
DumpObjArray(dynamic_cast<TObjArray*>(obj), offset);
|
||||||
} else {
|
} else {
|
||||||
// filter out the proper entry tag
|
// filter out the proper entry tag
|
||||||
TString entryTag("");
|
TString entryTag("");
|
||||||
switch (fFolderTag) {
|
switch (fNodeTag) {
|
||||||
case eDecayAnaModule:
|
case eDecayAnaModule:
|
||||||
entryTag = TString("DecayHistoEntry");
|
entryTag = TString("DecayHistoEntry");
|
||||||
break;
|
break;
|
||||||
|
@ -156,8 +156,12 @@ bool PmuppAdminXMLParser::startElement()
|
|||||||
|
|
||||||
if (qName == "path_file_name") {
|
if (qName == "path_file_name") {
|
||||||
fKeyWord = eRecentFile;
|
fKeyWord = eRecentFile;
|
||||||
} else if (qName == "dark_theme") {
|
} else if (qName == "ignore_theme_auto_detection") {
|
||||||
fKeyWord = eDarkTheme;
|
fKeyWord = eIgnoreThemeAutoDetection;
|
||||||
|
} else if (qName == "dark_theme_icon_menu") {
|
||||||
|
fKeyWord = eDarkThemeIconsMenu;
|
||||||
|
} else if (qName == "dark_theme_icon_toolbar") {
|
||||||
|
fKeyWord = eDarkThemeIconsToolbar;
|
||||||
} else if (qName == "marker") {
|
} else if (qName == "marker") {
|
||||||
fKeyWord = eMarker;
|
fKeyWord = eMarker;
|
||||||
} else if (qName == "color") {
|
} else if (qName == "color") {
|
||||||
@ -201,11 +205,23 @@ bool PmuppAdminXMLParser::characters()
|
|||||||
case eRecentFile:
|
case eRecentFile:
|
||||||
fAdmin->addRecentFile(QString(str.toLatin1()).trimmed());
|
fAdmin->addRecentFile(QString(str.toLatin1()).trimmed());
|
||||||
break;
|
break;
|
||||||
case eDarkTheme:
|
case eIgnoreThemeAutoDetection:
|
||||||
if ((str == "yes") || (str == "1") || (str == "true"))
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
fAdmin->setTheme(true);
|
fAdmin->setIgnoreThemeAutoDetection(true);
|
||||||
else
|
else
|
||||||
fAdmin->setTheme(false);
|
fAdmin->setIgnoreThemeAutoDetection(false);
|
||||||
|
break;
|
||||||
|
case eDarkThemeIconsMenu:
|
||||||
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
|
fAdmin->setThemeIconsMenu(true);
|
||||||
|
else
|
||||||
|
fAdmin->setThemeIconsMenu(false);
|
||||||
|
break;
|
||||||
|
case eDarkThemeIconsToolbar:
|
||||||
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
|
fAdmin->setThemeIconsToolbar(true);
|
||||||
|
else
|
||||||
|
fAdmin->setThemeIconsToolbar(false);
|
||||||
break;
|
break;
|
||||||
case eMarker:
|
case eMarker:
|
||||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
|
#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
|
||||||
@ -280,7 +296,7 @@ bool PmuppAdminXMLParser::endDocument()
|
|||||||
* <p>Initializes that PmuppAdmin object, and calls the XML parser which feeds
|
* <p>Initializes that PmuppAdmin object, and calls the XML parser which feeds
|
||||||
* the object variables.
|
* the object variables.
|
||||||
*/
|
*/
|
||||||
PmuppAdmin::PmuppAdmin() : QObject(), fDarkTheme(false)
|
PmuppAdmin::PmuppAdmin() : QObject()
|
||||||
{
|
{
|
||||||
// XML Parser part
|
// XML Parser part
|
||||||
// 1st: check local directory
|
// 1st: check local directory
|
||||||
|
@ -102,7 +102,9 @@ class PmuppAdminXMLParser
|
|||||||
virtual bool isValid() { return fValid; }
|
virtual bool isValid() { return fValid; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum EAdminKeyWords {eEmpty, eRecentFile, eDarkTheme, eMarker, eColor};
|
enum EAdminKeyWords {eEmpty, eRecentFile,
|
||||||
|
eIgnoreThemeAutoDetection, eDarkThemeIconsMenu, eDarkThemeIconsToolbar,
|
||||||
|
eMarker, eColor};
|
||||||
|
|
||||||
bool parse(QIODevice *device);
|
bool parse(QIODevice *device);
|
||||||
bool startDocument();
|
bool startDocument();
|
||||||
@ -145,18 +147,24 @@ class PmuppAdmin : public QObject
|
|||||||
void getColor(QString name, int &r, int &g, int &b);
|
void getColor(QString name, int &r, int &g, int &b);
|
||||||
void getColor(int idx, int &r, int &g, int &b);
|
void getColor(int idx, int &r, int &g, int &b);
|
||||||
|
|
||||||
bool isDarkTheme() { return fDarkTheme; }
|
bool getIgnoreThemeAutoDetection() { return fIgnoreThemeAutoDetection; }
|
||||||
|
bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu; }
|
||||||
|
bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar; }
|
||||||
|
|
||||||
void setTheme(bool theme) { fDarkTheme = theme; }
|
void setIgnoreThemeAutoDetection(const bool theme) { fIgnoreThemeAutoDetection = theme; }
|
||||||
void setMarker(int marker, double size);
|
void setThemeIconsMenu(const bool theme) { fDarkThemeIconsMenu = theme; }
|
||||||
void setColor(int r, int g, int b, QString name="");
|
void setThemeIconsToolbar(const bool theme) { fDarkThemeIconsToolbar = theme; }
|
||||||
|
void setMarker(const int marker, const double size);
|
||||||
|
void setColor(const int r, const int g, const int b, QString name="");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class PmuppAdminXMLParser;
|
friend class PmuppAdminXMLParser;
|
||||||
|
|
||||||
QVector<QString> fRecentFile; ///< keep vector of recent path-file names
|
QVector<QString> fRecentFile; ///< keep vector of recent path-file names
|
||||||
|
|
||||||
bool fDarkTheme;
|
bool fIgnoreThemeAutoDetection{false};
|
||||||
|
bool fDarkThemeIconsMenu{false};
|
||||||
|
bool fDarkThemeIconsToolbar{false};
|
||||||
QVector<PmuppMarker> fMarker;
|
QVector<PmuppMarker> fMarker;
|
||||||
QVector<PmuppColor> fColor;
|
QVector<PmuppColor> fColor;
|
||||||
|
|
||||||
|
@ -250,6 +250,9 @@ PmuppGui::PmuppGui(QStringList fln)
|
|||||||
readCmdHistory();
|
readCmdHistory();
|
||||||
|
|
||||||
fAdmin = new PmuppAdmin();
|
fAdmin = new PmuppAdmin();
|
||||||
|
fIgnoreThemeAutoDetection = fAdmin->getIgnoreThemeAutoDetection();
|
||||||
|
fDarkThemeIconsMenu = fAdmin->getDarkThemeIconsMenuFlag();
|
||||||
|
fDarkThemeIconsToolbar = fAdmin->getDarkThemeIconsToolbarFlag();
|
||||||
|
|
||||||
fParamDataHandler = new PParamDataHandler();
|
fParamDataHandler = new PParamDataHandler();
|
||||||
bool dataAtStartup = false;
|
bool dataAtStartup = false;
|
||||||
@ -270,7 +273,7 @@ PmuppGui::PmuppGui(QStringList fln)
|
|||||||
getTheme();
|
getTheme();
|
||||||
|
|
||||||
QString iconName("");
|
QString iconName("");
|
||||||
if (fDarkTheme)
|
if (fDarkThemeIconsMenu)
|
||||||
iconName = QString(":/icons/mupp-dark.svg");
|
iconName = QString(":/icons/mupp-dark.svg");
|
||||||
else
|
else
|
||||||
iconName = QString(":/icons/mupp-plain.svg");
|
iconName = QString(":/icons/mupp-plain.svg");
|
||||||
@ -514,7 +517,7 @@ void PmuppGui::setupFileActions()
|
|||||||
QAction *a;
|
QAction *a;
|
||||||
|
|
||||||
QString iconName("");
|
QString iconName("");
|
||||||
if (fDarkTheme)
|
if (fDarkThemeIconsMenu)
|
||||||
iconName = QString(":/icons/document-open-dark.svg");
|
iconName = QString(":/icons/document-open-dark.svg");
|
||||||
else
|
else
|
||||||
iconName = QString(":/icons/document-open-plain.svg");
|
iconName = QString(":/icons/document-open-plain.svg");
|
||||||
@ -523,7 +526,7 @@ void PmuppGui::setupFileActions()
|
|||||||
a->setStatusTip( tr("Open a musrfit parameter file.") );
|
a->setStatusTip( tr("Open a musrfit parameter file.") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu)
|
if (!fDarkThemeIconsToolbar) { // tool bar icon is not dark, even though the theme is (ubuntu)
|
||||||
iconName = QString(":/icons/document-open-plain.svg");
|
iconName = QString(":/icons/document-open-plain.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
||||||
@ -848,26 +851,32 @@ bool PmuppGui::eventFilter(QObject *o, QEvent *e)
|
|||||||
*/
|
*/
|
||||||
void PmuppGui::getTheme()
|
void PmuppGui::getTheme()
|
||||||
{
|
{
|
||||||
fDarkTheme = false; // true if theme is dark
|
if (fIgnoreThemeAutoDetection)
|
||||||
fDarkToolBarIcon = false; // needed for ubuntu dark since there the menu icons
|
return;
|
||||||
|
|
||||||
|
fDarkThemeIconsMenu = false; // true if theme is dark
|
||||||
|
fDarkThemeIconsToolbar = false; // needed for ubuntu dark since there the menu icons
|
||||||
// are dark, however the toolbar icons are plain!
|
// are dark, however the toolbar icons are plain!
|
||||||
|
|
||||||
QString str = QIcon::themeName();
|
QString str = QIcon::themeName();
|
||||||
|
|
||||||
if (str.isEmpty()) {
|
if (str.isEmpty()) {
|
||||||
if (fAdmin->isDarkTheme()) {
|
if (fAdmin->getDarkThemeIconsMenuFlag()) {
|
||||||
fDarkTheme = true;
|
fDarkThemeIconsMenu = true;
|
||||||
fDarkToolBarIcon = true;
|
}
|
||||||
|
if (fAdmin->getDarkThemeIconsToolbarFlag()) {
|
||||||
|
fDarkThemeIconsToolbar = true;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (str.contains("dark", Qt::CaseInsensitive)) {
|
if (str.contains("dark", Qt::CaseInsensitive)) {
|
||||||
fDarkTheme = true;
|
fDarkThemeIconsMenu = true;
|
||||||
if (str.contains("ubuntu", Qt::CaseInsensitive)) {
|
if (str.contains("ubuntu", Qt::CaseInsensitive) ||
|
||||||
fDarkToolBarIcon = false;
|
str.contains("xfce", Qt::CaseInsensitive)) {
|
||||||
|
fDarkThemeIconsToolbar = false;
|
||||||
} else {
|
} else {
|
||||||
fDarkToolBarIcon = true;
|
fDarkThemeIconsToolbar = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1316,7 +1325,7 @@ void PmuppGui::addVar()
|
|||||||
|
|
||||||
// call variable dialog
|
// call variable dialog
|
||||||
fVarDlg.reset();
|
fVarDlg.reset();
|
||||||
fVarDlg = std::make_unique<PVarDialog>(collection_list, fDarkTheme);
|
fVarDlg = std::make_unique<PVarDialog>(collection_list, fDarkThemeIconsMenu);
|
||||||
connect(fVarDlg.get(), SIGNAL(check_request(QString,QVector<int>)), this, SLOT(check(QString,QVector<int>)));
|
connect(fVarDlg.get(), SIGNAL(check_request(QString,QVector<int>)), this, SLOT(check(QString,QVector<int>)));
|
||||||
connect(fVarDlg.get(), SIGNAL(add_request(QString,QVector<int>)), this, SLOT(add(QString,QVector<int>)));
|
connect(fVarDlg.get(), SIGNAL(add_request(QString,QVector<int>)), this, SLOT(add(QString,QVector<int>)));
|
||||||
fVarDlg->show();
|
fVarDlg->show();
|
||||||
|
@ -159,11 +159,12 @@ private:
|
|||||||
enum EAxis {kXaxis, kYaxis};
|
enum EAxis {kXaxis, kYaxis};
|
||||||
|
|
||||||
PmuppAdmin *fAdmin;
|
PmuppAdmin *fAdmin;
|
||||||
bool fDarkTheme;
|
bool fIgnoreThemeAutoDetection{false};
|
||||||
bool fDarkToolBarIcon;
|
bool fDarkThemeIconsMenu{false};
|
||||||
bool fNormalize;
|
bool fDarkThemeIconsToolbar{false};
|
||||||
|
bool fNormalize{false};
|
||||||
|
|
||||||
uint fDatime;
|
qint64 fDatime;
|
||||||
uint fMuppInstance;
|
uint fMuppInstance;
|
||||||
|
|
||||||
PParamDataHandler *fParamDataHandler;
|
PParamDataHandler *fParamDataHandler;
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
</comment>
|
</comment>
|
||||||
<recent_files>
|
<recent_files>
|
||||||
</recent_files>
|
</recent_files>
|
||||||
<dark_theme>no</dark_theme>
|
<ignore_theme_auto_detection>n</ignore_theme_auto_detection>
|
||||||
|
<dark_theme_icon_menu>n</dark_theme_icon_menu>
|
||||||
|
<dark_theme_icon_toolbar>n</dark_theme_icon_toolbar>
|
||||||
<root_settings>
|
<root_settings>
|
||||||
<marker_list>
|
<marker_list>
|
||||||
<!-- Root marker numbers -->
|
<!-- Root marker numbers -->
|
||||||
|
@ -59,8 +59,12 @@ PAdminXMLParser::PAdminXMLParser(const QString& fln, PAdmin *admin) : fAdmin(adm
|
|||||||
fFunc = false;
|
fFunc = false;
|
||||||
|
|
||||||
QFile file(fln);
|
QFile file(fln);
|
||||||
if (!file.open(QFile::ReadOnly | QFile::Text)) {
|
if (!file.open(QFile::ReadOnly | QFile::Text) || (file.size()==0)) {
|
||||||
// warning and create default - STILL MISSING
|
// warning and create default
|
||||||
|
QMessageBox::StandardButton ret = QMessageBox::warning(nullptr, "WARNING", "The musredit_startup.xml is corrupted. Create a default one?", QMessageBox::Yes | QMessageBox::No);
|
||||||
|
if (ret == QMessageBox::Yes) {
|
||||||
|
fAdmin->createMusreditStartupFile();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fValid = parse(&file);
|
fValid = parse(&file);
|
||||||
@ -98,7 +102,7 @@ bool PAdminXMLParser::parse(QIODevice *device)
|
|||||||
if (fXml.hasError()) {
|
if (fXml.hasError()) {
|
||||||
QString msg;
|
QString msg;
|
||||||
msg = QString("%1 Line %2, column %3").arg(fXml.errorString()).arg(fXml.lineNumber()).arg(fXml.columnNumber());
|
msg = QString("%1 Line %2, column %3").arg(fXml.errorString()).arg(fXml.lineNumber()).arg(fXml.columnNumber());
|
||||||
QMessageBox::critical(0, "**ERROR**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::critical(nullptr, "**ERROR**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -717,14 +721,14 @@ QString PAdminXMLParser::expandPath(const QString &str)
|
|||||||
token.remove('$');
|
token.remove('$');
|
||||||
if (!procEnv.contains(token)) {
|
if (!procEnv.contains(token)) {
|
||||||
msg = QString("Couldn't find '%1'. Some things might not work properly").arg(token);
|
msg = QString("Couldn't find '%1'. Some things might not work properly").arg(token);
|
||||||
QMessageBox::warning(0, "**WARNING**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::warning(nullptr, "**WARNING**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
newStr = "";
|
newStr = "";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
path = procEnv.value(token, "");
|
path = procEnv.value(token, "");
|
||||||
if (path.isEmpty()) {
|
if (path.isEmpty()) {
|
||||||
msg = QString("Couldn't expand '%1'. Some things might not work properly").arg(token);
|
msg = QString("Couldn't expand '%1'. Some things might not work properly").arg(token);
|
||||||
QMessageBox::warning(0, "**WARNING**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::warning(nullptr, "**WARNING**", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
newStr = "";
|
newStr = "";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -769,13 +773,13 @@ PAdmin::PAdmin() : QObject()
|
|||||||
|
|
||||||
// XML Parser part
|
// XML Parser part
|
||||||
// 1st: check local directory
|
// 1st: check local directory
|
||||||
QString path = QString("./");
|
QString path = QDir::currentPath();
|
||||||
QString fln = QString("musredit_startup.xml");
|
QString fln = QString("musredit_startup.xml");
|
||||||
QString pathFln = path + fln;
|
QString pathFln = path + fln;
|
||||||
QProcessEnvironment procEnv = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment procEnv = QProcessEnvironment::systemEnvironment();
|
||||||
if (!QFile::exists(pathFln)) {
|
if (!QFile::exists(pathFln)) {
|
||||||
// 2nd: check $HOME/.musrfit/musredit/musredit_startup.xml
|
// 2nd: check $HOME/.musrfit/musredit/musredit_startup.xml
|
||||||
path = procEnv.value("HOME", "");
|
path = QDir::homePath();
|
||||||
pathFln = path + "/.musrfit/musredit/" + fln;
|
pathFln = path + "/.musrfit/musredit/" + fln;
|
||||||
if (!QFile::exists(pathFln)) {
|
if (!QFile::exists(pathFln)) {
|
||||||
// 3rd: check $MUSRFITPATH/musredit_startup.xml
|
// 3rd: check $MUSRFITPATH/musredit_startup.xml
|
||||||
@ -803,9 +807,9 @@ PAdmin::PAdmin() : QObject()
|
|||||||
QFileInfo info(str);
|
QFileInfo info(str);
|
||||||
if (info.exists()) {
|
if (info.exists()) {
|
||||||
if (!info.isExecutable())
|
if (!info.isExecutable())
|
||||||
QMessageBox::critical(0, "ERROR", "musrfit found but not recognized as executable.\nPlease check!");
|
QMessageBox::critical(nullptr, "ERROR", "musrfit found but not recognized as executable.\nPlease check!");
|
||||||
} else {
|
} else {
|
||||||
QMessageBox::critical(0, "ERROR", "musrfit not found.\nHave you set the necessary system variables properly?\nPlease check the manual.\nBefore you can use musrfit, this needs to be fixed.");
|
QMessageBox::critical(nullptr, "ERROR", "musrfit not found.\nHave you set the necessary system variables properly?\nPlease check the manual.\nBefore you can use musrfit, this needs to be fixed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if system variables are set properly
|
// check if system variables are set properly
|
||||||
@ -823,19 +827,10 @@ PAdmin::PAdmin() : QObject()
|
|||||||
}
|
}
|
||||||
if (sysVarMissing) {
|
if (sysVarMissing) {
|
||||||
msg += "Please set this/these system variables.";
|
msg += "Please set this/these system variables.";
|
||||||
QMessageBox::warning(0, "WARNING", msg);
|
QMessageBox::warning(nullptr, "WARNING", msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* <p>Destructor
|
|
||||||
*/
|
|
||||||
PAdmin::~PAdmin()
|
|
||||||
{
|
|
||||||
saveRecentFiles();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* <p>returns the help url corresponding the the tag.
|
* <p>returns the help url corresponding the the tag.
|
||||||
@ -903,13 +898,13 @@ int PAdmin::loadPrefs(QString fln)
|
|||||||
if (QFile::exists(fln)) { // administration file present
|
if (QFile::exists(fln)) { // administration file present
|
||||||
PAdminXMLParser handler(fln, this);
|
PAdminXMLParser handler(fln, this);
|
||||||
if (!handler.isValid()) {
|
if (!handler.isValid()) {
|
||||||
QMessageBox::critical(0, "**ERROR**",
|
QMessageBox::critical(nullptr, "**ERROR**",
|
||||||
"Error parsing musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
"Error parsing musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
||||||
QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QMessageBox::critical(0, "**ERROR**",
|
QMessageBox::critical(nullptr, "**ERROR**",
|
||||||
"Couldn't find the musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
"Couldn't find the musredit_startup.xml settings file.\nProbably a few things will not work porperly.\nPlease fix this first.",
|
||||||
QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
return 0;
|
return 0;
|
||||||
@ -1054,7 +1049,7 @@ int PAdmin::savePrefs(QString pref_fln)
|
|||||||
file.close();
|
file.close();
|
||||||
} else {
|
} else {
|
||||||
QString msg("Failed to write musredit_startup.xml. Neither a local nor a global copy found.");
|
QString msg("Failed to write musredit_startup.xml. Neither a local nor a global copy found.");
|
||||||
QMessageBox::warning(0, "WARNING", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::warning(nullptr, "WARNING", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
@ -1128,7 +1123,7 @@ void PAdmin::saveRecentFiles()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
for (int j=0; j<fRecentFile.size(); j++) {
|
for (int j=fRecentFile.size()-1; j>=0; j--) {
|
||||||
str = " <path_file_name>" + fRecentFile[j] + "</path_file_name>";
|
str = " <path_file_name>" + fRecentFile[j] + "</path_file_name>";
|
||||||
data.insert(i++, str);
|
data.insert(i++, str);
|
||||||
}
|
}
|
||||||
@ -1148,7 +1143,7 @@ void PAdmin::saveRecentFiles()
|
|||||||
file.close();
|
file.close();
|
||||||
} else {
|
} else {
|
||||||
QString msg("Failed to write musredit_startup.xml. Neither a local nor a global copy found.");
|
QString msg("Failed to write musredit_startup.xml. Neither a local nor a global copy found.");
|
||||||
QMessageBox::warning(0, "WARNING", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
QMessageBox::warning(nullptr, "WARNING", msg, QMessageBox::Ok, QMessageBox::NoButton);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1177,13 +1172,13 @@ void PAdmin::createMusreditStartupFile()
|
|||||||
QFile fres(":/musredit_startup.xml.in");
|
QFile fres(":/musredit_startup.xml.in");
|
||||||
if (!fres.exists()) {
|
if (!fres.exists()) {
|
||||||
QString msg = QString("Neither couldn't find nor create musredit_startup.xml. Things are likely not to work.");
|
QString msg = QString("Neither couldn't find nor create musredit_startup.xml. Things are likely not to work.");
|
||||||
QMessageBox::critical(0, "ERROR", msg);
|
QMessageBox::critical(nullptr, "ERROR", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fres.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
if (!fres.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||||
QString msg = QString("Couldn't open internal resource file musredit_startup.xml.in. Things are likely not to work.");
|
QString msg = QString("Couldn't open internal resource file musredit_startup.xml.in. Things are likely not to work.");
|
||||||
QMessageBox::critical(0, "ERROR", msg);
|
QMessageBox::critical(nullptr, "ERROR", msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// text stream for fres
|
// text stream for fres
|
||||||
|
@ -65,7 +65,6 @@ class PAdminXMLParser
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PAdminXMLParser(const QString &fln, PAdmin*);
|
PAdminXMLParser(const QString &fln, PAdmin*);
|
||||||
virtual ~PAdminXMLParser() {}
|
|
||||||
|
|
||||||
virtual bool isValid() { return fValid; }
|
virtual bool isValid() { return fValid; }
|
||||||
|
|
||||||
@ -113,7 +112,6 @@ class PAdmin : public QObject
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PAdmin();
|
PAdmin();
|
||||||
virtual ~PAdmin();
|
|
||||||
|
|
||||||
int getTimeout() { return fTimeout; }
|
int getTimeout() { return fTimeout; }
|
||||||
QString getFontName() { return fFontName; }
|
QString getFontName() { return fFontName; }
|
||||||
@ -173,6 +171,7 @@ class PAdmin : public QObject
|
|||||||
|
|
||||||
int loadPrefs(QString fln);
|
int loadPrefs(QString fln);
|
||||||
int savePrefs(QString pref_fln);
|
int savePrefs(QString pref_fln);
|
||||||
|
void saveRecentFiles(); ///< save recent file list
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setExecPath(const QString str) { fExecPath = str; }
|
void setExecPath(const QString str) { fExecPath = str; }
|
||||||
@ -228,7 +227,6 @@ class PAdmin : public QObject
|
|||||||
|
|
||||||
QVector<PTheory> fTheory; ///< stores all known theories. Needed when generating theory blocks from within musredit.
|
QVector<PTheory> fTheory; ///< stores all known theories. Needed when generating theory blocks from within musredit.
|
||||||
|
|
||||||
void saveRecentFiles(); ///< save recent file list
|
|
||||||
void createMusreditStartupFile(); ///< create default musredit_startup.xml
|
void createMusreditStartupFile(); ///< create default musredit_startup.xml
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -155,6 +155,8 @@ PTextEdit::PTextEdit( QWidget *parent )
|
|||||||
connect( fTabWidget.get(), SIGNAL( currentChanged(int) ), this, SLOT( applyFontSettings(int) ));
|
connect( fTabWidget.get(), SIGNAL( currentChanged(int) ), this, SLOT( applyFontSettings(int) ));
|
||||||
|
|
||||||
fLastDirInUse = fAdmin->getDefaultSavePath();
|
fLastDirInUse = fAdmin->getDefaultSavePath();
|
||||||
|
|
||||||
|
fStatusBar = this->statusBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
@ -294,6 +296,7 @@ void PTextEdit::setupFileActions()
|
|||||||
|
|
||||||
// Save Prefs
|
// Save Prefs
|
||||||
a = new QAction( tr( "Save Prefs..." ), this );
|
a = new QAction( tr( "Save Prefs..." ), this );
|
||||||
|
a->setStatusTip( tr("Save the preferences") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileSavePrefs() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileSavePrefs() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
|
|
||||||
@ -696,7 +699,7 @@ void PTextEdit::setupMusrActions()
|
|||||||
iconName = QString(":/icons/musrWiz-32x32.svg");
|
iconName = QString(":/icons/musrWiz-32x32.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "musr&Wiz" ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "musr&Wiz" ), this );
|
||||||
a->setShortcut( tr("Alt+W") );
|
a->setShortcut( tr("Alt+W") );
|
||||||
a->setStatusTip( tr("Call musrWiz which helps to create msr-files") );
|
a->setStatusTip( tr("Call musrWiz which helps to create msr-files - currently still very limited") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
fActions["musrWiz"] = a;
|
fActions["musrWiz"] = a;
|
||||||
@ -838,7 +841,7 @@ void PTextEdit::setupMusrActions()
|
|||||||
else
|
else
|
||||||
iconName = QString(":/icons/musrview2dat-plain.svg");
|
iconName = QString(":/icons/musrview2dat-plain.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "View2Dat" ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "View2Dat" ), this );
|
||||||
a->setStatusTip( tr("export musrview data") );
|
a->setStatusTip( tr("Export musrview data from a collection of msr-files.") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( musrView2Dat() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( musrView2Dat() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
fActions["musrview2dat"] = a;
|
fActions["musrview2dat"] = a;
|
||||||
@ -1032,7 +1035,7 @@ void PTextEdit::load( const QString &f, const int index )
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// add file name to recent file names
|
// add file name to recent file names
|
||||||
fAdmin->addRecentFile(f); // keep it in admin
|
fAdmin->addRecentFile(QFileInfo(f).absoluteFilePath()); // keep it in admin
|
||||||
fillRecentFiles(); // update menu
|
fillRecentFiles(); // update menu
|
||||||
|
|
||||||
// add the msr-file to the file system watchersssss
|
// add the msr-file to the file system watchersssss
|
||||||
@ -1555,7 +1558,7 @@ void PTextEdit::fileClose(const bool check)
|
|||||||
int result = QMessageBox::warning(this, "**WARNING**",
|
int result = QMessageBox::warning(this, "**WARNING**",
|
||||||
"Do you really want to close this file.\nChanges will be lost",
|
"Do you really want to close this file.\nChanges will be lost",
|
||||||
"Close", "Cancel");
|
"Close", "Cancel");
|
||||||
if (result == 1) // Cancel
|
if (result == QMessageBox::Cancel) // Cancel
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1585,7 +1588,7 @@ void PTextEdit::fileCloseAll()
|
|||||||
int result = QMessageBox::warning(this, "**WARNING**",
|
int result = QMessageBox::warning(this, "**WARNING**",
|
||||||
"Do you really want to close all files.\nChanges of unsaved files will be lost",
|
"Do you really want to close all files.\nChanges of unsaved files will be lost",
|
||||||
"Close", "Cancel");
|
"Close", "Cancel");
|
||||||
if (result == 1) // Cancel
|
if (result == QMessageBox::Cancel) // Cancel
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1622,7 +1625,7 @@ void PTextEdit::fileCloseAllOthers()
|
|||||||
int result = QMessageBox::warning(this, "**WARNING**",
|
int result = QMessageBox::warning(this, "**WARNING**",
|
||||||
"Do you really want to close all files.\nChanges of unsaved files will be lost",
|
"Do you really want to close all files.\nChanges of unsaved files will be lost",
|
||||||
"Close", "Cancel");
|
"Close", "Cancel");
|
||||||
if (result == 1) // Cancel
|
if (result == QMessageBox::Cancel) // Cancel
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1665,12 +1668,14 @@ void PTextEdit::fileExit()
|
|||||||
int result = QMessageBox::warning(this, "**WARNING**",
|
int result = QMessageBox::warning(this, "**WARNING**",
|
||||||
"Do you really want to exit from the applcation.\nChanges will be lost",
|
"Do you really want to exit from the applcation.\nChanges will be lost",
|
||||||
"Exit", "Cancel");
|
"Exit", "Cancel");
|
||||||
if (result == 1) // Cancel
|
if (result == QMessageBox::Cancel) // Cancel
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fAdmin->saveRecentFiles();
|
||||||
|
|
||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3613,6 +3618,7 @@ void PTextEdit::switchMenuIcons()
|
|||||||
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
||||||
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
||||||
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
||||||
|
fActions["musrview2dat"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-dark.svg")));
|
||||||
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
||||||
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
||||||
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
||||||
@ -3639,6 +3645,7 @@ void PTextEdit::switchMenuIcons()
|
|||||||
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
||||||
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
||||||
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
||||||
|
fActions["musrview2dat"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-plain.svg")));
|
||||||
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
||||||
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
||||||
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
||||||
@ -3674,6 +3681,7 @@ void PTextEdit::switchToolbarIcons()
|
|||||||
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
||||||
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
||||||
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
||||||
|
fActions["musrview2dat-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-dark.svg")));
|
||||||
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
||||||
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
||||||
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
||||||
@ -3700,6 +3708,7 @@ void PTextEdit::switchToolbarIcons()
|
|||||||
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
||||||
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
||||||
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
||||||
|
fActions["musrview2dat-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-plain.svg")));
|
||||||
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
||||||
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
||||||
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
||||||
|
@ -181,6 +181,7 @@ private:
|
|||||||
QString fLastDirInUse{QString("")}; ///< string holding the path from where the last file was loaded.
|
QString fLastDirInUse{QString("")}; ///< string holding the path from where the last file was loaded.
|
||||||
QStringList fMusrFTPrevCmd;
|
QStringList fMusrFTPrevCmd;
|
||||||
int fEditW{900}, fEditH{800};
|
int fEditW{900}, fEditH{800};
|
||||||
|
QStatusBar *fStatusBar{nullptr};
|
||||||
|
|
||||||
QMap<QString, QAction*> fActions;
|
QMap<QString, QAction*> fActions;
|
||||||
std::unique_ptr<QAction> fMusrT0Action;
|
std::unique_ptr<QAction> fMusrT0Action;
|
||||||
|
@ -156,8 +156,12 @@ bool PmuppAdminXMLParser::startElement()
|
|||||||
|
|
||||||
if (qName == "path_file_name") {
|
if (qName == "path_file_name") {
|
||||||
fKeyWord = eRecentFile;
|
fKeyWord = eRecentFile;
|
||||||
} else if (qName == "dark_theme") {
|
} else if (qName == "ignore_theme_auto_detection") {
|
||||||
fKeyWord = eDarkTheme;
|
fKeyWord = eIgnoreThemeAutoDetection;
|
||||||
|
} else if (qName == "dark_theme_icon_menu") {
|
||||||
|
fKeyWord = eDarkThemeIconsMenu;
|
||||||
|
} else if (qName == "dark_theme_icon_toolbar") {
|
||||||
|
fKeyWord = eDarkThemeIconsToolbar;
|
||||||
} else if (qName == "marker") {
|
} else if (qName == "marker") {
|
||||||
fKeyWord = eMarker;
|
fKeyWord = eMarker;
|
||||||
} else if (qName == "color") {
|
} else if (qName == "color") {
|
||||||
@ -201,11 +205,23 @@ bool PmuppAdminXMLParser::characters()
|
|||||||
case eRecentFile:
|
case eRecentFile:
|
||||||
fAdmin->addRecentFile(QString(str.toLatin1()).trimmed());
|
fAdmin->addRecentFile(QString(str.toLatin1()).trimmed());
|
||||||
break;
|
break;
|
||||||
case eDarkTheme:
|
case eIgnoreThemeAutoDetection:
|
||||||
if ((str == "yes") || (str == "1") || (str == "true"))
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
fAdmin->setTheme(true);
|
fAdmin->setIgnoreThemeAutoDetection(true);
|
||||||
else
|
else
|
||||||
fAdmin->setTheme(false);
|
fAdmin->setIgnoreThemeAutoDetection(false);
|
||||||
|
break;
|
||||||
|
case eDarkThemeIconsMenu:
|
||||||
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
|
fAdmin->setThemeIconsMenu(true);
|
||||||
|
else
|
||||||
|
fAdmin->setThemeIconsMenu(false);
|
||||||
|
break;
|
||||||
|
case eDarkThemeIconsToolbar:
|
||||||
|
if ((str == "yes") || (str == "y") || (str == "1") || (str == "true"))
|
||||||
|
fAdmin->setThemeIconsToolbar(true);
|
||||||
|
else
|
||||||
|
fAdmin->setThemeIconsToolbar(false);
|
||||||
break;
|
break;
|
||||||
case eMarker:
|
case eMarker:
|
||||||
tok = str.split(",", Qt::SkipEmptyParts);
|
tok = str.split(",", Qt::SkipEmptyParts);
|
||||||
@ -272,7 +288,7 @@ bool PmuppAdminXMLParser::endDocument()
|
|||||||
* <p>Initializes that PmuppAdmin object, and calls the XML parser which feeds
|
* <p>Initializes that PmuppAdmin object, and calls the XML parser which feeds
|
||||||
* the object variables.
|
* the object variables.
|
||||||
*/
|
*/
|
||||||
PmuppAdmin::PmuppAdmin() : QObject(), fDarkTheme(false)
|
PmuppAdmin::PmuppAdmin() : QObject()
|
||||||
{
|
{
|
||||||
// XML Parser part
|
// XML Parser part
|
||||||
// 1st: check local directory
|
// 1st: check local directory
|
||||||
@ -433,7 +449,7 @@ void PmuppAdmin::getColor(int idx, int &r, int &g, int &b)
|
|||||||
* @param marker marker code
|
* @param marker marker code
|
||||||
* @param size marker size
|
* @param size marker size
|
||||||
*/
|
*/
|
||||||
void PmuppAdmin::setMarker(int marker, double size)
|
void PmuppAdmin::setMarker(const int marker, const double size)
|
||||||
{
|
{
|
||||||
PmuppMarker markerObj;
|
PmuppMarker markerObj;
|
||||||
|
|
||||||
@ -456,7 +472,7 @@ void PmuppAdmin::setMarker(int marker, double size)
|
|||||||
* @param b blue value (0..255)
|
* @param b blue value (0..255)
|
||||||
* @param name color name
|
* @param name color name
|
||||||
*/
|
*/
|
||||||
void PmuppAdmin::setColor(int r, int g, int b, QString name)
|
void PmuppAdmin::setColor(const int r, const int g, const int b, QString name)
|
||||||
{
|
{
|
||||||
if (((r<0) || (r>255)) ||
|
if (((r<0) || (r>255)) ||
|
||||||
((g<0) || (g>255)) ||
|
((g<0) || (g>255)) ||
|
||||||
|
@ -102,7 +102,9 @@ class PmuppAdminXMLParser
|
|||||||
virtual bool isValid() { return fValid; }
|
virtual bool isValid() { return fValid; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum EAdminKeyWords {eEmpty, eRecentFile, eDarkTheme, eMarker, eColor};
|
enum EAdminKeyWords {eEmpty, eRecentFile,
|
||||||
|
eIgnoreThemeAutoDetection, eDarkThemeIconsMenu, eDarkThemeIconsToolbar,
|
||||||
|
eMarker, eColor};
|
||||||
|
|
||||||
bool parse(QIODevice *device);
|
bool parse(QIODevice *device);
|
||||||
bool startDocument();
|
bool startDocument();
|
||||||
@ -145,18 +147,24 @@ class PmuppAdmin : public QObject
|
|||||||
void getColor(QString name, int &r, int &g, int &b);
|
void getColor(QString name, int &r, int &g, int &b);
|
||||||
void getColor(int idx, int &r, int &g, int &b);
|
void getColor(int idx, int &r, int &g, int &b);
|
||||||
|
|
||||||
bool isDarkTheme() { return fDarkTheme; }
|
bool getIgnoreThemeAutoDetection() { return fIgnoreThemeAutoDetection; }
|
||||||
|
bool getDarkThemeIconsMenuFlag() { return fDarkThemeIconsMenu; }
|
||||||
|
bool getDarkThemeIconsToolbarFlag() { return fDarkThemeIconsToolbar; }
|
||||||
|
|
||||||
void setTheme(bool theme) { fDarkTheme = theme; }
|
void setIgnoreThemeAutoDetection(const bool theme) { fIgnoreThemeAutoDetection = theme; }
|
||||||
void setMarker(int marker, double size);
|
void setThemeIconsMenu(const bool theme) { fDarkThemeIconsMenu = theme; }
|
||||||
void setColor(int r, int g, int b, QString name="");
|
void setThemeIconsToolbar(const bool theme) { fDarkThemeIconsToolbar = theme; }
|
||||||
|
void setMarker(const int marker, const double size);
|
||||||
|
void setColor(const int r, const int g, const int b, QString name="");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class PmuppAdminXMLParser;
|
friend class PmuppAdminXMLParser;
|
||||||
|
|
||||||
QVector<QString> fRecentFile; ///< keep vector of recent path-file names
|
QVector<QString> fRecentFile; ///< keep vector of recent path-file names
|
||||||
|
|
||||||
bool fDarkTheme;
|
bool fIgnoreThemeAutoDetection{false};
|
||||||
|
bool fDarkThemeIconsMenu{false};
|
||||||
|
bool fDarkThemeIconsToolbar{false};
|
||||||
QVector<PmuppMarker> fMarker;
|
QVector<PmuppMarker> fMarker;
|
||||||
QVector<PmuppColor> fColor;
|
QVector<PmuppColor> fColor;
|
||||||
|
|
||||||
|
@ -250,6 +250,9 @@ PmuppGui::PmuppGui(QStringList fln)
|
|||||||
readCmdHistory();
|
readCmdHistory();
|
||||||
|
|
||||||
fAdmin = new PmuppAdmin();
|
fAdmin = new PmuppAdmin();
|
||||||
|
fIgnoreThemeAutoDetection = fAdmin->getIgnoreThemeAutoDetection();
|
||||||
|
fDarkThemeIconsMenu = fAdmin->getDarkThemeIconsMenuFlag();
|
||||||
|
fDarkThemeIconsToolbar = fAdmin->getDarkThemeIconsToolbarFlag();
|
||||||
|
|
||||||
fParamDataHandler = new PParamDataHandler();
|
fParamDataHandler = new PParamDataHandler();
|
||||||
bool dataAtStartup = false;
|
bool dataAtStartup = false;
|
||||||
@ -270,7 +273,7 @@ PmuppGui::PmuppGui(QStringList fln)
|
|||||||
getTheme();
|
getTheme();
|
||||||
|
|
||||||
QString iconName("");
|
QString iconName("");
|
||||||
if (fDarkTheme)
|
if (fDarkThemeIconsMenu)
|
||||||
iconName = QString(":/icons/mupp-dark.svg");
|
iconName = QString(":/icons/mupp-dark.svg");
|
||||||
else
|
else
|
||||||
iconName = QString(":/icons/mupp-plain.svg");
|
iconName = QString(":/icons/mupp-plain.svg");
|
||||||
@ -513,7 +516,7 @@ void PmuppGui::setupFileActions()
|
|||||||
QAction *a;
|
QAction *a;
|
||||||
|
|
||||||
QString iconName("");
|
QString iconName("");
|
||||||
if (fDarkTheme)
|
if (fDarkThemeIconsMenu)
|
||||||
iconName = QString(":/icons/document-open-dark.svg");
|
iconName = QString(":/icons/document-open-dark.svg");
|
||||||
else
|
else
|
||||||
iconName = QString(":/icons/document-open-plain.svg");
|
iconName = QString(":/icons/document-open-plain.svg");
|
||||||
@ -522,7 +525,7 @@ void PmuppGui::setupFileActions()
|
|||||||
a->setStatusTip( tr("Open a musrfit parameter file.") );
|
a->setStatusTip( tr("Open a musrfit parameter file.") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu)
|
if (!fDarkThemeIconsToolbar) { // tool bar icon is not dark, even though the theme is (ubuntu, mx, xfce)
|
||||||
iconName = QString(":/icons/document-open-plain.svg");
|
iconName = QString(":/icons/document-open-plain.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) );
|
||||||
@ -847,26 +850,32 @@ bool PmuppGui::eventFilter(QObject *o, QEvent *e)
|
|||||||
*/
|
*/
|
||||||
void PmuppGui::getTheme()
|
void PmuppGui::getTheme()
|
||||||
{
|
{
|
||||||
fDarkTheme = false; // true if theme is dark
|
if (fIgnoreThemeAutoDetection)
|
||||||
fDarkToolBarIcon = false; // needed for ubuntu dark since there the menu icons
|
return;
|
||||||
|
|
||||||
|
fDarkThemeIconsMenu = false; // true if theme is dark
|
||||||
|
fDarkThemeIconsToolbar = false; // needed for ubuntu dark since there the menu icons
|
||||||
// are dark, however the toolbar icons are plain!
|
// are dark, however the toolbar icons are plain!
|
||||||
|
|
||||||
QString str = QIcon::themeName();
|
QString str = QIcon::themeName();
|
||||||
|
|
||||||
if (str.isEmpty()) {
|
if (str.isEmpty()) {
|
||||||
if (fAdmin->isDarkTheme()) {
|
if (fAdmin->getDarkThemeIconsMenuFlag()) {
|
||||||
fDarkTheme = true;
|
fDarkThemeIconsMenu = true;
|
||||||
fDarkToolBarIcon = true;
|
}
|
||||||
|
if (fAdmin->getDarkThemeIconsToolbarFlag()) {
|
||||||
|
fDarkThemeIconsToolbar = true;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (str.contains("dark", Qt::CaseInsensitive)) {
|
if (str.contains("dark", Qt::CaseInsensitive)) {
|
||||||
fDarkTheme = true;
|
fDarkThemeIconsMenu = true;
|
||||||
if (str.contains("ubuntu", Qt::CaseInsensitive)) {
|
if (str.contains("ubuntu", Qt::CaseInsensitive) ||
|
||||||
fDarkToolBarIcon = false;
|
str.contains("xfce", Qt::CaseInsensitive)) {
|
||||||
|
fDarkThemeIconsToolbar = false;
|
||||||
} else {
|
} else {
|
||||||
fDarkToolBarIcon = true;
|
fDarkThemeIconsToolbar = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1304,7 +1313,7 @@ void PmuppGui::addVar()
|
|||||||
|
|
||||||
// call variable dialog
|
// call variable dialog
|
||||||
fVarDlg.reset();
|
fVarDlg.reset();
|
||||||
fVarDlg = std::make_unique<PVarDialog>(collection_list, fDarkTheme);
|
fVarDlg = std::make_unique<PVarDialog>(collection_list, fDarkThemeIconsMenu);
|
||||||
connect(fVarDlg.get(), SIGNAL(check_request(QString,QVector<int>)), this, SLOT(check(QString,QVector<int>)));
|
connect(fVarDlg.get(), SIGNAL(check_request(QString,QVector<int>)), this, SLOT(check(QString,QVector<int>)));
|
||||||
connect(fVarDlg.get(), SIGNAL(add_request(QString,QVector<int>)), this, SLOT(add(QString,QVector<int>)));
|
connect(fVarDlg.get(), SIGNAL(add_request(QString,QVector<int>)), this, SLOT(add(QString,QVector<int>)));
|
||||||
fVarDlg->show();
|
fVarDlg->show();
|
||||||
|
@ -159,9 +159,10 @@ private:
|
|||||||
enum EAxis {kXaxis, kYaxis};
|
enum EAxis {kXaxis, kYaxis};
|
||||||
|
|
||||||
PmuppAdmin *fAdmin;
|
PmuppAdmin *fAdmin;
|
||||||
bool fDarkTheme;
|
bool fIgnoreThemeAutoDetection{false};
|
||||||
bool fDarkToolBarIcon;
|
bool fDarkThemeIconsMenu{false};
|
||||||
bool fNormalize;
|
bool fDarkThemeIconsToolbar{false};
|
||||||
|
bool fNormalize{false};
|
||||||
|
|
||||||
qint64 fDatime;
|
qint64 fDatime;
|
||||||
uint fMuppInstance;
|
uint fMuppInstance;
|
||||||
|
@ -548,11 +548,11 @@ int main(int argc, char *argv[])
|
|||||||
if (script.size() > 0) { // script
|
if (script.size() > 0) { // script
|
||||||
guiFlag = false;
|
guiFlag = false;
|
||||||
}
|
}
|
||||||
QCoreApplication *app = createApplication(argc, argv, guiFlag);
|
QScopedPointer<QCoreApplication> app(createApplication(argc, argv, guiFlag));
|
||||||
|
|
||||||
std::unique_ptr<PmuppGui> gui;
|
std::unique_ptr<PmuppGui> gui;
|
||||||
std::unique_ptr<PmuppScript> mupp_script;
|
std::unique_ptr<PmuppScript> mupp_script;
|
||||||
if (qobject_cast<QApplication *>(app)) { // GUI
|
if (qobject_cast<QApplication *>(app.get())) { // GUI
|
||||||
gui = std::make_unique<PmuppGui>(fln);
|
gui = std::make_unique<PmuppGui>(fln);
|
||||||
if (gui == nullptr) {
|
if (gui == nullptr) {
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
@ -565,8 +565,8 @@ int main(int argc, char *argv[])
|
|||||||
gui->resize( 800, 500 );
|
gui->resize( 800, 500 );
|
||||||
gui->show();
|
gui->show();
|
||||||
|
|
||||||
app->connect( app, SIGNAL( lastWindowClosed() ), app, SLOT( quit() ) );
|
app.get()->connect( app.get(), SIGNAL( lastWindowClosed() ), app.get(), SLOT( quit() ) );
|
||||||
app->connect( app, SIGNAL( aboutToQuit() ), gui.get(), SLOT( aboutToQuit() ) );
|
app.get()->connect( app.get(), SIGNAL( aboutToQuit() ), gui.get(), SLOT( aboutToQuit() ) );
|
||||||
} else { // scripting
|
} else { // scripting
|
||||||
mupp_script = std::make_unique<PmuppScript>(script);
|
mupp_script = std::make_unique<PmuppScript>(script);
|
||||||
if (mupp_script == nullptr) {
|
if (mupp_script == nullptr) {
|
||||||
@ -578,7 +578,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This will cause the application to exit when the task signals finished.
|
// This will cause the application to exit when the task signals finished.
|
||||||
QObject::connect( mupp_script.get(), SIGNAL( finished() ), app, SLOT( quit() ) );
|
QObject::connect( mupp_script.get(), SIGNAL( finished() ), app.get(), SLOT( quit() ) );
|
||||||
|
|
||||||
// This will run the task from the application event loop.
|
// This will run the task from the application event loop.
|
||||||
QTimer::singleShot(0, mupp_script.get(), SLOT( executeScript() ) );
|
QTimer::singleShot(0, mupp_script.get(), SLOT( executeScript() ) );
|
||||||
|
@ -5,7 +5,9 @@
|
|||||||
</comment>
|
</comment>
|
||||||
<recent_files>
|
<recent_files>
|
||||||
</recent_files>
|
</recent_files>
|
||||||
<dark_theme>no</dark_theme>
|
<ignore_theme_auto_detection>n</ignore_theme_auto_detection>
|
||||||
|
<dark_theme_icon_menu>n</dark_theme_icon_menu>
|
||||||
|
<dark_theme_icon_toolbar>n</dark_theme_icon_toolbar>
|
||||||
<root_settings>
|
<root_settings>
|
||||||
<marker_list>
|
<marker_list>
|
||||||
<!-- Root marker numbers -->
|
<!-- Root marker numbers -->
|
||||||
|
@ -775,13 +775,13 @@ PAdmin::PAdmin() : QObject()
|
|||||||
|
|
||||||
// XML Parser part
|
// XML Parser part
|
||||||
// 1st: check local directory
|
// 1st: check local directory
|
||||||
QString path = QString("./");
|
QString path = QDir::currentPath();
|
||||||
QString fln = QString("musredit_startup.xml");
|
QString fln = QString("musredit_startup.xml");
|
||||||
QString pathFln = path + fln;
|
QString pathFln = path + fln;
|
||||||
QProcessEnvironment procEnv = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment procEnv = QProcessEnvironment::systemEnvironment();
|
||||||
if (!QFile::exists(pathFln)) {
|
if (!QFile::exists(pathFln)) {
|
||||||
// 2nd: check $HOME/.musrfit/musredit/musredit_startup.xml
|
// 2nd: check $HOME/.musrfit/musredit/musredit_startup.xml
|
||||||
path = procEnv.value("HOME", "");
|
path = QDir::homePath();
|
||||||
pathFln = path + "/.musrfit/musredit/" + fln;
|
pathFln = path + "/.musrfit/musredit/" + fln;
|
||||||
if (!QFile::exists(pathFln)) {
|
if (!QFile::exists(pathFln)) {
|
||||||
// 3rd: check $MUSRFITPATH/musredit_startup.xml
|
// 3rd: check $MUSRFITPATH/musredit_startup.xml
|
||||||
@ -833,15 +833,6 @@ PAdmin::PAdmin() : QObject()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* <p>Destructor
|
|
||||||
*/
|
|
||||||
PAdmin::~PAdmin()
|
|
||||||
{
|
|
||||||
saveRecentFiles();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* <p>returns the help url corresponding the the tag.
|
* <p>returns the help url corresponding the the tag.
|
||||||
@ -1130,7 +1121,7 @@ void PAdmin::saveRecentFiles()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
for (int j=0; j<fRecentFile.size(); j++) {
|
for (int j=fRecentFile.size()-1; j>=0; j--) {
|
||||||
str = " <path_file_name>" + fRecentFile[j] + "</path_file_name>";
|
str = " <path_file_name>" + fRecentFile[j] + "</path_file_name>";
|
||||||
data.insert(i++, str);
|
data.insert(i++, str);
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,6 @@ class PAdminXMLParser
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PAdminXMLParser(const QString &fln, PAdmin*);
|
PAdminXMLParser(const QString &fln, PAdmin*);
|
||||||
virtual ~PAdminXMLParser() {}
|
|
||||||
|
|
||||||
virtual bool isValid() { return fValid; }
|
virtual bool isValid() { return fValid; }
|
||||||
|
|
||||||
@ -113,7 +112,6 @@ class PAdmin : public QObject
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PAdmin();
|
PAdmin();
|
||||||
virtual ~PAdmin();
|
|
||||||
|
|
||||||
int getTimeout() { return fTimeout; }
|
int getTimeout() { return fTimeout; }
|
||||||
QString getFontName() { return fFontName; }
|
QString getFontName() { return fFontName; }
|
||||||
@ -173,6 +171,7 @@ class PAdmin : public QObject
|
|||||||
|
|
||||||
int loadPrefs(QString fln);
|
int loadPrefs(QString fln);
|
||||||
int savePrefs(QString pref_fln);
|
int savePrefs(QString pref_fln);
|
||||||
|
void saveRecentFiles(); ///< save recent file list
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setExecPath(const QString str) { fExecPath = str; }
|
void setExecPath(const QString str) { fExecPath = str; }
|
||||||
@ -228,7 +227,6 @@ class PAdmin : public QObject
|
|||||||
|
|
||||||
QVector<PTheory> fTheory; ///< stores all known theories. Needed when generating theory blocks from within musredit.
|
QVector<PTheory> fTheory; ///< stores all known theories. Needed when generating theory blocks from within musredit.
|
||||||
|
|
||||||
void saveRecentFiles(); ///< save recent file list
|
|
||||||
void createMusreditStartupFile(); ///< create default musredit_startup.xml
|
void createMusreditStartupFile(); ///< create default musredit_startup.xml
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -155,6 +155,8 @@ PTextEdit::PTextEdit( QWidget *parent )
|
|||||||
connect( fTabWidget.get(), SIGNAL( currentChanged(int) ), this, SLOT( applyFontSettings(int) ));
|
connect( fTabWidget.get(), SIGNAL( currentChanged(int) ), this, SLOT( applyFontSettings(int) ));
|
||||||
|
|
||||||
fLastDirInUse = fAdmin->getDefaultSavePath();
|
fLastDirInUse = fAdmin->getDefaultSavePath();
|
||||||
|
|
||||||
|
fStatusBar = this->statusBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
@ -294,6 +296,7 @@ void PTextEdit::setupFileActions()
|
|||||||
|
|
||||||
// Save Prefs
|
// Save Prefs
|
||||||
a = new QAction( tr( "Save Prefs..." ), this );
|
a = new QAction( tr( "Save Prefs..." ), this );
|
||||||
|
a->setStatusTip( tr("Save the preferences") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( fileSavePrefs() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( fileSavePrefs() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
|
|
||||||
@ -695,7 +698,7 @@ void PTextEdit::setupMusrActions()
|
|||||||
iconName = QString(":/icons/musrWiz-32x32.svg");
|
iconName = QString(":/icons/musrWiz-32x32.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "musr&Wiz" ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "musr&Wiz" ), this );
|
||||||
a->setShortcut( tr("Alt+W") );
|
a->setShortcut( tr("Alt+W") );
|
||||||
a->setStatusTip( tr("Call musrWiz which helps to create msr-files") );
|
a->setStatusTip( tr("Call musrWiz which helps to create msr-files - currently still very limited") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
fActions["musrWiz"] = a;
|
fActions["musrWiz"] = a;
|
||||||
@ -837,7 +840,7 @@ void PTextEdit::setupMusrActions()
|
|||||||
else
|
else
|
||||||
iconName = QString(":/icons/musrview2dat-plain.svg");
|
iconName = QString(":/icons/musrview2dat-plain.svg");
|
||||||
a = new QAction( QIcon( QPixmap(iconName) ), tr( "View2Dat" ), this );
|
a = new QAction( QIcon( QPixmap(iconName) ), tr( "View2Dat" ), this );
|
||||||
a->setStatusTip( tr("export musrview data") );
|
a->setStatusTip( tr("Export musrview data from a collection of msr-files.") );
|
||||||
connect( a, SIGNAL( triggered() ), this, SLOT( musrView2Dat() ) );
|
connect( a, SIGNAL( triggered() ), this, SLOT( musrView2Dat() ) );
|
||||||
menu->addAction(a);
|
menu->addAction(a);
|
||||||
fActions["musrview2dat"] = a;
|
fActions["musrview2dat"] = a;
|
||||||
@ -1031,7 +1034,7 @@ void PTextEdit::load( const QString &f, const int index )
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// add file name to recent file names
|
// add file name to recent file names
|
||||||
fAdmin->addRecentFile(f); // keep it in admin
|
fAdmin->addRecentFile(QFileInfo(f).absoluteFilePath()); // keep it in admin
|
||||||
fillRecentFiles(); // update menu
|
fillRecentFiles(); // update menu
|
||||||
|
|
||||||
// add the msr-file to the file system watchersssss
|
// add the msr-file to the file system watchersssss
|
||||||
@ -1670,6 +1673,8 @@ void PTextEdit::fileExit()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fAdmin->saveRecentFiles();
|
||||||
|
|
||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3582,6 +3587,7 @@ void PTextEdit::switchMenuIcons()
|
|||||||
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
||||||
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
||||||
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
||||||
|
fActions["musrview2dat"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-dark.svg")));
|
||||||
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
||||||
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
||||||
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
||||||
@ -3608,6 +3614,7 @@ void PTextEdit::switchMenuIcons()
|
|||||||
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
fActions["musrStep"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
||||||
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
fActions["msr2data"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
||||||
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
fActions["mupp"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
||||||
|
fActions["musrview2dat"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-plain.svg")));
|
||||||
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
fActions["musrview"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
||||||
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
fActions["musrt0"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
||||||
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
fActions["musrFT"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
||||||
@ -3643,6 +3650,7 @@ void PTextEdit::switchToolbarIcons()
|
|||||||
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32-dark.svg")));
|
||||||
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-dark.svg")));
|
||||||
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-dark.svg")));
|
||||||
|
fActions["musrview2dat-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-dark.svg")));
|
||||||
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-dark.svg")));
|
||||||
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-dark.svg")));
|
||||||
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-dark.svg")));
|
||||||
@ -3669,6 +3677,7 @@ void PTextEdit::switchToolbarIcons()
|
|||||||
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
fActions["musrStep-tb"]->setIcon(QIcon(QPixmap(":/icons/musrStep-32x32.svg")));
|
||||||
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
fActions["msr2data-tb"]->setIcon(QIcon(QPixmap(":/icons/msr2data-plain.svg")));
|
||||||
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
fActions["mupp-tb"]->setIcon(QIcon(QPixmap(":/icons/mupp-plain.svg")));
|
||||||
|
fActions["musrview2dat-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview2dat-plain.svg")));
|
||||||
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
fActions["musrview-tb"]->setIcon(QIcon(QPixmap(":/icons/musrview-plain.svg")));
|
||||||
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
fActions["musrt0-tb"]->setIcon(QIcon(QPixmap(":/icons/musrt0-plain.svg")));
|
||||||
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
fActions["musrFT-tb"]->setIcon(QIcon(QPixmap(":/icons/musrFT-plain.svg")));
|
||||||
|
@ -181,6 +181,7 @@ private:
|
|||||||
QString fLastDirInUse{QString("")}; ///< string holding the path from where the last file was loaded.
|
QString fLastDirInUse{QString("")}; ///< string holding the path from where the last file was loaded.
|
||||||
QStringList fMusrFTPrevCmd;
|
QStringList fMusrFTPrevCmd;
|
||||||
int fEditW{900}, fEditH{800};
|
int fEditW{900}, fEditH{800};
|
||||||
|
QStatusBar *fStatusBar{nullptr};
|
||||||
|
|
||||||
QMap<QString, QAction*> fActions;
|
QMap<QString, QAction*> fActions;
|
||||||
std::unique_ptr<QAction> fMusrT0Action;
|
std::unique_ptr<QAction> fMusrT0Action;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user