Complete porting og MuSRFit GUI to qt4

This commit is contained in:
2017-03-23 17:00:28 +01:00
parent 2460f845b1
commit 4a9b767f7f
3 changed files with 126 additions and 102 deletions

View File

@ -34,7 +34,7 @@ use QtCore4::slots
GoFit => [], GoFit => [],
GoPlot => [], GoPlot => [],
ShowMuSRT0 => [], ShowMuSRT0 => [],
T0Update => [], t0Update => [],
RunSelectionToggle => [], RunSelectionToggle => [],
fileBrowse => [], fileBrowse => [],
AppendToFunctions => [], AppendToFunctions => [],
@ -89,12 +89,10 @@ sub fileSave()
my %All=CreateAllInput(); my %All=CreateAllInput();
my $FILENAME=$All{"FILENAME"}.".msr"; my $FILENAME=$All{"FILENAME"}.".msr";
my $file=Qt::FileDialog::getSaveFileName( my $file=Qt::FileDialog::getSaveFileName(
"$FILENAME",
"MSR Files (*.msr *.mlog)",
this, this,
"Save file",
"save file dialog", "$FILENAME",
"Choose a filename to save under"); "MSR Files (*.msr *.mlog)");
# If the user gave a filename the copy to it # If the user gave a filename the copy to it
if ($file ne "") { if ($file ne "") {
@ -114,11 +112,10 @@ sub fileSave()
sub fileChangeDir() sub fileChangeDir()
{ {
my $newdir=Qt::FileDialog::getExistingDirectory( my $newdir=Qt::FileDialog::getExistingDirectory(
"",
this, this,
"get existing directory", "Change work directory",
"Choose a directory", "./",
1); "");
chdir ("$newdir"); chdir ("$newdir");
} }
@ -140,16 +137,17 @@ sub fileExit()
sub parametersExport() sub parametersExport()
{ {
# Exports the fit parameters for a table format file
# This works only after a fit call, i.e. a plot call is not sufficient!
my %All=CreateAllInput(); my %All=CreateAllInput();
# Add also a flag for header # Add also a flag for header
$All{"Header"}=1; $All{"Header"}=1;
my $FILENAME=$All{"FILENAME"}.".dat"; my $FILENAME=$All{"FILENAME"}.".dat";
my $file=Qt::FileDialog::getSaveFileName( my $file=Qt::FileDialog::getSaveFileName(
"$FILENAME",
"Data Files (*.dat)",
this, this,
"export file dialog", "Export parameters to file",
"Choose a filename to export to"); "$FILENAME",
"Data Files (*.dat)");
# If the user gave a filename the copy to it # If the user gave a filename the copy to it
if ($file ne "") { if ($file ne "") {
@ -163,16 +161,17 @@ sub parametersExport()
sub parametersAppend() sub parametersAppend()
{ {
# Appends the fit parameters for a table format file
# This works only after a fit call, i.e. a plot call is not sufficient!
my %All=CreateAllInput(); my %All=CreateAllInput();
# Add also a flag for header # Add also a flag for header
$All{"Header"}=0; $All{"Header"}=0;
my $FILENAME=$All{"FILENAME"}.".dat"; my $FILENAME=$All{"FILENAME"}.".dat";
my $file=Qt::FileDialog::getOpenFileName( my $file=Qt::FileDialog::getOpenFileName(
"./",
"Data Files (*.dat)",
this, this,
"append file dialog", "Append parameters to file",
"Choose a filename to append to"); "./",
"Data Files (*.dat)");
# If the user gave a filename the copy to it # If the user gave a filename the copy to it
if ($file ne "") { if ($file ne "") {
@ -228,24 +227,27 @@ sub helpContents()
sub helpAbout() sub helpAbout()
{ {
my $AboutText=" my $AboutText="
This is a GUI that uses the musrfit binary, developed by Andreas Suter, This is a GUI that uses the musrfit binary to fit
to fit muSR spectra. muSR spectra.
MuSRFitGUI is free software: you can redistribute it and/or modify MuSRFitGUI is free software: you can redistribute it
it under the terms of the GNU General Public License as published by and/or modify it under the terms of the GNU General
the Free Software Foundation, either version 3 of the License, or Public License as published by the Free Software
(at your option) any later version. Foundation, either version 3 of the License, or (at
your option) any later version.
MuSRFitGUI is distributed in the hope that it will be useful, MuSRFitGUI is distributed in the hope that it will be
but WITHOUT ANY WARRANTY; without even the implied warranty of useful, but WITHOUT ANY WARRANTY; without even the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the implied warranty of MERCHANTABILITY or FITNESS FOR A
GNU General Public License for more details. PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public
along with MuSRFitGUI. If not, see <http://www.gnu.org/licenses/>. License along with MuSRFitGUI. If not, see
<http://www.gnu.org/licenses/>.
Copyright 2009 by Zaher Salman and the LEM Group. Copyright 2009-2017 by Zaher Salman
<zaher.salman\@psi.ch> <zaher.salman\@psi.ch>.
"; ";
my $AboutWindow = Qt::MessageBox::information( this, "About MuSRFit GUI",$AboutText); my $AboutWindow = Qt::MessageBox::information( this, "About MuSRFit GUI",$AboutText);
} }
@ -471,7 +473,7 @@ sub CreateAllInput()
my %PTable=MSR::PrepParamTable(\%All); my %PTable=MSR::PrepParamTable(\%All);
# Setup the table with the right size # Setup the table with the right size
my $NParam=scalar keys( %PTable ); my $NParam=keys( %PTable );
# Read initial values of paramets from tabel # Read initial values of paramets from tabel
my $erradd = "d"; my $erradd = "d";
@ -482,9 +484,10 @@ sub CreateAllInput()
if ($NParam > 0) { if ($NParam > 0) {
# Set appropriate number of rows # Set appropriate number of rows
$QTable->setRowCount($NParam); $QTable->setRowCount($NParam);
for (my $i=0;$i<$NParam;$i++) { for (my $i=0;$i<=$NParam;$i++) {
# Make sure the row items exist/defined
if (defined($QTable->verticalHeaderItem($i)) && defined($QTable->item($i,0)) && defined($QTable->item($i,1)) && defined($QTable->item($i,2)) && defined($QTable->item($i,3))) {
# Take label of row, i.e. name of parameter # Take label of row, i.e. name of parameter
if (defined($QTable->verticalHeaderItem($i)) && defined($QTable->item($i,1)) && defined($QTable->item($i,2)) && defined($QTable->item($i,3)) && defined($QTable->item($i,4))) {
my $Param=$QTable->verticalHeaderItem($i)->text(); my $Param=$QTable->verticalHeaderItem($i)->text();
# Then take the value, error, max and min (as numbers) # Then take the value, error, max and min (as numbers)
$All{"$Param"}=1.0*$QTable->item($i,0)->text(); $All{"$Param"}=1.0*$QTable->item($i,0)->text();
@ -773,15 +776,17 @@ sub InitializeTab()
if ($error eq "nan") { $error=0.1;} if ($error eq "nan") { $error=0.1;}
# Make sure items exist before addressing them # Make sure items exist before addressing them
$QTable->setVerticalHeaderItem($PCount,Qt::TableWidgetItem()); $QTable->setVerticalHeaderItem($PCount,Qt::TableWidgetItem());
$QTable->verticalHeaderItem($PCount)->setText($Param); # Make sure that the row exists
$QTable->showRow($PCount); $QTable->showRow($PCount);
$QTable->setItem($PCount,0,Qt::TableWidgetItem()); $QTable->setItem($PCount,0,Qt::TableWidgetItem());
$QTable->item($PCount,0)->setText($value);
$QTable->setItem($PCount,1,Qt::TableWidgetItem()); $QTable->setItem($PCount,1,Qt::TableWidgetItem());
$QTable->item($PCount,1)->setText($error);
$QTable->setItem($PCount,2,Qt::TableWidgetItem()); $QTable->setItem($PCount,2,Qt::TableWidgetItem());
$QTable->item($PCount,2)->setText($minvalue);
$QTable->setItem($PCount,3,Qt::TableWidgetItem()); $QTable->setItem($PCount,3,Qt::TableWidgetItem());
# Fill in the values...
$QTable->verticalHeaderItem($PCount)->setText($Param);
$QTable->item($PCount,0)->setText($value);
$QTable->item($PCount,1)->setText($error);
$QTable->item($PCount,2)->setText($minvalue);
$QTable->item($PCount,3)->setText($maxvalue); $QTable->item($PCount,3)->setText($maxvalue);
} }
} }
@ -870,8 +875,9 @@ sub GoPlot()
sub ShowMuSRT0() sub ShowMuSRT0()
{ {
# Open musrt0 to check and adjust t0 , Bg and Data bins
my %All=CreateAllInput(); my %All=CreateAllInput();
this->{ui}->musrfit_tabs->setCurrentPage(6); this->{ui}->musrfit_tabs->setCurrentIndex(6);
# Create MSR file and then run musrt0 # Create MSR file and then run musrt0
my $Answer=CallMSRCreate(); my $Answer=CallMSRCreate();
@ -889,7 +895,7 @@ sub ShowMuSRT0()
} }
sub T0Update() sub t0Update()
{ {
my %All = CreateAllInput(); my %All = CreateAllInput();
my @Hists = split(/,/, $All{"LRBF"} ); my @Hists = split(/,/, $All{"LRBF"} );
@ -900,11 +906,12 @@ sub T0Update()
foreach ("t0","Bg1","Bg2","Data1","Data2") { foreach ("t0","Bg1","Bg2","Data1","Data2") {
my $Name = "$_$NHist"; my $Name = "$_$NHist";
my $tmp=MSR::T0BgData($_,$Hist,$All{"BeamLine"}); my $tmp=MSR::T0BgData($_,$Hist,$All{"BeamLine"});
if (defined(child("Qt::Widget",$Name))) {
child("Qt::Widget",$Name)->setText($tmp); child("Qt::Widget",$Name)->setText($tmp);
} }
}
$NHist++ $NHist++
} }
} }
@ -958,14 +965,16 @@ sub AppendToFunctions()
if (defined(this->{ui}->theoryBlock->toPlainText)) { if (defined(this->{ui}->theoryBlock->toPlainText)) {
$Full_T_Block=this->{ui}->theoryBlock->toPlainText; $Full_T_Block=this->{ui}->theoryBlock->toPlainText;
} }
if (defined(this->{ui}->constraintLine->toPlainText)) { if (defined(this->{ui}->constraintLine->text)) {
$Constraint=this->{ui}->constraintLine->toPlainText; $Constraint=this->{ui}->constraintLine->text;
} }
# Then clear the text # Then clear the text
this->{ui}->constraintLine->setText(""); this->{ui}->constraintLine->setText("");
# Check how many constraints (lines) in FUNCTIONS Block # Check how many constraints (lines) in FUNCTIONS Block
my $i=this->{ui}->functionsBlock->lines(); # my $i=this->{ui}->functionsBlock->blockCount();
my $fun_lines=this->{ui}->functionsBlock->toPlainText();
my $i= ($fun_lines =~ tr/\n//)+1;
my $ConstLine="fun$i = $Constraint\n"; my $ConstLine="fun$i = $Constraint\n";
this->{ui}->functionsBlock->insertPlainText($ConstLine); this->{ui}->functionsBlock->insertPlainText($ConstLine);

View File

@ -986,9 +986,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>fitType1</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item row="0" column="2">
@ -1441,9 +1438,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>fitType1</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item row="0" column="4">
@ -1896,9 +1890,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>fitType1</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
@ -2273,9 +2264,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>tis</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="2" column="2"> <item row="2" column="2">
@ -2292,9 +2280,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>tfs</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="2" column="4"> <item row="2" column="4">
@ -2311,9 +2296,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>bins</cstring>
</property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
@ -3149,9 +3131,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>title</cstring>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -3183,9 +3162,6 @@
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="buddy">
<cstring>fileName</cstring>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -5572,16 +5548,16 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Overwrite MSR File</string> <string>No Overwrite</string>
</property> </property>
<property name="iconText"> <property name="iconText">
<string>Overwrite MSR File</string> <string>Overwrite MSR File</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Enable overwriting MSR files</string> <string extracomment="If selected warn before overwriting an MSR file">Enable overwriting MSR files</string>
</property> </property>
<property name="whatsThis"> <property name="whatsThis">
<string>Enable/Disable checking for MSR files.</string> <string extracomment="If selected warn before overwriting an MSR file">Enable/Disable checking for MSR files.</string>
</property> </property>
</action> </action>
<action name="manualFile"> <action name="manualFile">
@ -5724,6 +5700,12 @@
<tabstop>tis</tabstop> <tabstop>tis</tabstop>
<tabstop>tfs</tabstop> <tabstop>tfs</tabstop>
<tabstop>bins</tabstop> <tabstop>bins</tabstop>
<tabstop>xi</tabstop>
<tabstop>xf</tabstop>
<tabstop>viewBin</tabstop>
<tabstop>yi</tabstop>
<tabstop>yf</tabstop>
<tabstop>ltc</tabstop>
<tabstop>fitAsyType</tabstop> <tabstop>fitAsyType</tabstop>
<tabstop>histsLRBF</tabstop> <tabstop>histsLRBF</tabstop>
<tabstop>minimization</tabstop> <tabstop>minimization</tabstop>
@ -5765,8 +5747,8 @@
<tabstop>fapodization</tabstop> <tabstop>fapodization</tabstop>
<tabstop>fplot</tabstop> <tabstop>fplot</tabstop>
<tabstop>frqMin</tabstop> <tabstop>frqMin</tabstop>
<tabstop>frqMax</tabstop>
<tabstop>fphase</tabstop> <tabstop>fphase</tabstop>
<tabstop>frqMax</tabstop>
<tabstop>rrfFrq</tabstop> <tabstop>rrfFrq</tabstop>
<tabstop>rrfUnits</tabstop> <tabstop>rrfUnits</tabstop>
<tabstop>rrfPack</tabstop> <tabstop>rrfPack</tabstop>
@ -5953,7 +5935,7 @@
<slot>InitializeFunctions()</slot> <slot>InitializeFunctions()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>608</x> <x>593</x>
<y>489</y> <y>489</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
@ -5969,7 +5951,7 @@
<slot>AppendToFunctions()</slot> <slot>AppendToFunctions()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>608</x> <x>593</x>
<y>284</y> <y>284</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
@ -6017,7 +5999,7 @@
<slot>t0UpdateClicked()</slot> <slot>t0UpdateClicked()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>609</x> <x>594</x>
<y>490</y> <y>490</y>
</hint> </hint>
<hint type="destinationlabel"> <hint type="destinationlabel">
@ -6058,6 +6040,38 @@
</hint> </hint>
</hints> </hints>
</connection> </connection>
<connection>
<sender>fitType1</sender>
<signal>currentIndexChanged(int)</signal>
<receiver>MuSRFit4</receiver>
<slot>InitializeFunctions()</slot>
<hints>
<hint type="sourcelabel">
<x>79</x>
<y>304</y>
</hint>
<hint type="destinationlabel">
<x>601</x>
<y>323</y>
</hint>
</hints>
</connection>
<connection>
<sender>beamLine</sender>
<signal>currentIndexChanged(int)</signal>
<receiver>MuSRFit4</receiver>
<slot>t0Update()</slot>
<hints>
<hint type="sourcelabel">
<x>416</x>
<y>144</y>
</hint>
<hint type="destinationlabel">
<x>603</x>
<y>191</y>
</hint>
</hints>
</connection>
</connections> </connections>
<slots> <slots>
<slot>t0UpdateClicked()</slot> <slot>t0UpdateClicked()</slot>
@ -6077,5 +6091,6 @@
<slot>AppendToFunctions()</slot> <slot>AppendToFunctions()</slot>
<slot>ActivateShComp()</slot> <slot>ActivateShComp()</slot>
<slot>TabChanged()</slot> <slot>TabChanged()</slot>
<slot>t0Update()</slot>
</slots> </slots>
</ui> </ui>

View File

@ -5,7 +5,7 @@
################################################################################# #################################################################################
## Form generated from reading UI file 'MuSRFit4.ui' ## Form generated from reading UI file 'MuSRFit4.ui'
## ##
## Created: Wed Mar 22 17:10:29 2017 ## Created: Thu Mar 23 16:58:52 2017
## by: Qt User Interface Compiler version 4.8.6 ## by: Qt User Interface Compiler version 4.8.6
## ##
## WARNING! All changes made in this file will be lost when recompiling UI file! ## WARNING! All changes made in this file will be lost when recompiling UI file!
@ -2991,14 +2991,6 @@ sub setupUi {
$actionsToolBar->setObjectName( "actionsToolBar" ); $actionsToolBar->setObjectName( "actionsToolBar" );
$actionsToolBar->setMinimumSize( Qt::Size(0, 0) ); $actionsToolBar->setMinimumSize( Qt::Size(0, 0) );
$muSRFit4->addToolBar( Qt::TopToolBarArea(), $actionsToolBar ); $muSRFit4->addToolBar( Qt::TopToolBarArea(), $actionsToolBar );
$comp1Label->setBuddy( $fitType1 );
$comp2Label->setBuddy( $fitType1 );
$comp3Label->setBuddy( $fitType1 );
$tisLabel->setBuddy( $tis );
$tfsLabel->setBuddy( $tfs );
$binsLabel->setBuddy( $bins );
$titleLabel->setBuddy( $title );
$fileNameLabel->setBuddy( $fileName );
Qt::Widget::setTabOrder( $musrfit_tabs, $runNumbers ); Qt::Widget::setTabOrder( $musrfit_tabs, $runNumbers );
Qt::Widget::setTabOrder( $runNumbers, $beamLine ); Qt::Widget::setTabOrder( $runNumbers, $beamLine );
Qt::Widget::setTabOrder( $beamLine, $year ); Qt::Widget::setTabOrder( $beamLine, $year );
@ -3010,7 +3002,13 @@ sub setupUi {
Qt::Widget::setTabOrder( $fitType3, $tis ); Qt::Widget::setTabOrder( $fitType3, $tis );
Qt::Widget::setTabOrder( $tis, $tfs ); Qt::Widget::setTabOrder( $tis, $tfs );
Qt::Widget::setTabOrder( $tfs, $bins ); Qt::Widget::setTabOrder( $tfs, $bins );
Qt::Widget::setTabOrder( $bins, $fitAsyType ); Qt::Widget::setTabOrder( $bins, $xi );
Qt::Widget::setTabOrder( $xi, $xf );
Qt::Widget::setTabOrder( $xf, $viewBin );
Qt::Widget::setTabOrder( $viewBin, $yi );
Qt::Widget::setTabOrder( $yi, $yf );
Qt::Widget::setTabOrder( $yf, $ltc );
Qt::Widget::setTabOrder( $ltc, $fitAsyType );
Qt::Widget::setTabOrder( $fitAsyType, $histsLRBF ); Qt::Widget::setTabOrder( $fitAsyType, $histsLRBF );
Qt::Widget::setTabOrder( $histsLRBF, $minimization ); Qt::Widget::setTabOrder( $histsLRBF, $minimization );
Qt::Widget::setTabOrder( $minimization, $errorCalc ); Qt::Widget::setTabOrder( $minimization, $errorCalc );
@ -3051,9 +3049,9 @@ sub setupUi {
Qt::Widget::setTabOrder( $funits, $fapodization ); Qt::Widget::setTabOrder( $funits, $fapodization );
Qt::Widget::setTabOrder( $fapodization, $fplot ); Qt::Widget::setTabOrder( $fapodization, $fplot );
Qt::Widget::setTabOrder( $fplot, $frqMin ); Qt::Widget::setTabOrder( $fplot, $frqMin );
Qt::Widget::setTabOrder( $frqMin, $frqMax ); Qt::Widget::setTabOrder( $frqMin, $fphase );
Qt::Widget::setTabOrder( $frqMax, $fphase ); Qt::Widget::setTabOrder( $fphase, $frqMax );
Qt::Widget::setTabOrder( $fphase, $rrfFrq ); Qt::Widget::setTabOrder( $frqMax, $rrfFrq );
Qt::Widget::setTabOrder( $rrfFrq, $rrfUnits ); Qt::Widget::setTabOrder( $rrfFrq, $rrfUnits );
Qt::Widget::setTabOrder( $rrfUnits, $rrfPack ); Qt::Widget::setTabOrder( $rrfUnits, $rrfPack );
Qt::Widget::setTabOrder( $rrfPack, $rrfPhase ); Qt::Widget::setTabOrder( $rrfPack, $rrfPhase );
@ -3130,6 +3128,8 @@ sub setupUi {
Qt::Object::connect($t0Update, SIGNAL 'clicked()' , $muSRFit4, SLOT 't0UpdateClicked()' ); Qt::Object::connect($t0Update, SIGNAL 'clicked()' , $muSRFit4, SLOT 't0UpdateClicked()' );
Qt::Object::connect($buttonGroupSharing, SIGNAL 'toggled(bool)' , $muSRFit4, SLOT 'ActivateShComp()' ); Qt::Object::connect($buttonGroupSharing, SIGNAL 'toggled(bool)' , $muSRFit4, SLOT 'ActivateShComp()' );
Qt::Object::connect($menuBar, SIGNAL 'triggered(QAction*)' , $muSRFit4, SLOT 'RunSelectionToggle()' ); Qt::Object::connect($menuBar, SIGNAL 'triggered(QAction*)' , $muSRFit4, SLOT 'RunSelectionToggle()' );
Qt::Object::connect($fitType1, SIGNAL 'currentIndexChanged(int)' , $muSRFit4, SLOT 'InitializeFunctions()' );
Qt::Object::connect($beamLine, SIGNAL 'currentIndexChanged(int)' , $muSRFit4, SLOT 't0Update()' );
$musrfit_tabs->setCurrentIndex( 0 ); $musrfit_tabs->setCurrentIndex( 0 );
$fitType2->setCurrentIndex( 18 ); $fitType2->setCurrentIndex( 18 );
@ -3159,7 +3159,7 @@ sub retranslateUi {
$self->{helpAboutAction}->setText( Qt::Application::translate( 'MuSRFit4', "&About", undef, Qt::Application::UnicodeUTF8() ) ); $self->{helpAboutAction}->setText( Qt::Application::translate( 'MuSRFit4', "&About", undef, Qt::Application::UnicodeUTF8() ) );
$self->{helpAboutAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "About", undef, Qt::Application::UnicodeUTF8() ) ); $self->{helpAboutAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "About", undef, Qt::Application::UnicodeUTF8() ) );
$self->{helpAboutAction}->setShortcut( Qt::KeySequence( '' ) ); $self->{helpAboutAction}->setShortcut( Qt::KeySequence( '' ) );
$self->{fileExistCheck}->setText( Qt::Application::translate( 'MuSRFit4', "Overwrite MSR File", undef, Qt::Application::UnicodeUTF8() ) ); $self->{fileExistCheck}->setText( Qt::Application::translate( 'MuSRFit4', "No Overwrite", undef, Qt::Application::UnicodeUTF8() ) );
$self->{fileExistCheck}->setIconText( Qt::Application::translate( 'MuSRFit4', "Overwrite MSR File", undef, Qt::Application::UnicodeUTF8() ) ); $self->{fileExistCheck}->setIconText( Qt::Application::translate( 'MuSRFit4', "Overwrite MSR File", undef, Qt::Application::UnicodeUTF8() ) );
$self->{fileExistCheck}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Enable overwriting MSR files", undef, Qt::Application::UnicodeUTF8() ) ); $self->{fileExistCheck}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Enable overwriting MSR files", undef, Qt::Application::UnicodeUTF8() ) );
$self->{fileExistCheck}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Enable/Disable checking for MSR files.", undef, Qt::Application::UnicodeUTF8() ) ); $self->{fileExistCheck}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Enable/Disable checking for MSR files.", undef, Qt::Application::UnicodeUTF8() ) );